-
-
Notifications
You must be signed in to change notification settings - Fork 15.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
bambu-studio: init at 01.06.02.04 (#206495)
* wxGTK31: Support enabling WebRequest component * wxGTK31: Support enabling private fonts * bambu-studio: init at 01.06.02.04 Co-authored-by: Phileas Lebada <[email protected]> * bambu-studio: 01.06.02.04 -> 01.07.00.65 * bambu-studio: 01.07.00.65 -> 01.07.06.92 The OpenSSL pin is no longer needed. * bambu-studio: 01.07.06.92 -> 01.08.00.62 * Switch to newer tbb version tbb was broken up into two versions for backwards compability https://github.com/NixOS/nixpkgs/pull/217585/files and put into prusa-slicer https://github.com/NixOS/nixpkgs/pull/238921/files Which fixes for 1.8 beta build ``` bambu-studio> CMake Error at src/libslic3r/CMakeLists.txt:490 (target_link_libraries): bambu-studio> Target "libslic3r" links to: bambu-studio> TBB::tbbmalloc bambu-studio> but the target was not found. Possible reasons include: bambu-studio> * There is a typo in the target name. bambu-studio> * A find_package call is missing for an IMPORTED target. bambu-studio> * An ALIAS target is missing. bambu-studio> bambu-studio> -- Generating done (0.2s) bambu-studio> CMake Warning: bambu-studio> Manually-specified variables were not used by the project: bambu-studio> CMAKE_EXPORT_NO_PACKAGE_REGISTRY bambu-studio> DEP_WX_GTK3 bambu-studio> bambu-studio> CMake Generate step failed. Build files cannot be regenerated correctly. error: builder for '/nix/store/rzgx01p1ni2xbx5ddg0133pjjlzs8618-bambu-studio-01.08.00.57.drv' failed with exit code 1; ``` * bambu-studio: switch to custom openvdb tbb version * Downgrade boost to 179 (181 is current default) --------- Co-authored-by: Phileas Lebada <[email protected]>
- Loading branch information
1 parent
29d6c96
commit 92ec31f
Showing
4 changed files
with
224 additions
and
0 deletions.
There are no files selected for viewing
34 changes: 34 additions & 0 deletions
34
...cations/misc/bambu-studio/0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
From 7eed499898226222a949a792e0400ec10db4a1c9 Mon Sep 17 00:00:00 2001 | ||
From: Zhaofeng Li <[email protected]> | ||
Date: Tue, 22 Nov 2022 13:00:39 -0700 | ||
Subject: [PATCH] [not for upstream] CMakeLists: Link against webkit2gtk in | ||
libslic3r_gui | ||
|
||
WebView.cpp uses symbols from webkitgtk directly. Upstream setup | ||
links wxGTK statically so webkitgtk is already pulled in. | ||
|
||
> /nix/store/039g378vc3pc3dvi9dzdlrd0i4q93qwf-binutils-2.39/bin/ld: slic3r/liblibslic3r_gui.a(WebView.cpp.o): undefined reference to symbol 'webkit_web_view_run_javascript_finish' | ||
> /nix/store/039g378vc3pc3dvi9dzdlrd0i4q93qwf-binutils-2.39/bin/ld: /nix/store/8yvy428jy2nwq4dhmrcs7gj5r27a2pv6-webkitgtk-2.38.2+abi=4.0/lib/libwebkit2gtk-4.0.so.37: error adding symbols: DSO missing from command line | ||
--- | ||
src/CMakeLists.txt | 5 +++++ | ||
1 file changed, 5 insertions(+) | ||
|
||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt | ||
index 9c5cb96..e92a0e3 100644 | ||
--- a/src/CMakeLists.txt | ||
+++ b/src/CMakeLists.txt | ||
@@ -175,6 +175,11 @@ if (WIN32) | ||
target_link_libraries(BambuStudio_app_gui PRIVATE boost_headeronly) | ||
endif () | ||
|
||
+# We link against webkit2gtk symbols in src/slic3r/GUI/Widgets/WebView.cpp | ||
+if (CMAKE_SYSTEM_NAME STREQUAL "Linux") | ||
+ target_link_libraries(libslic3r_gui "-lwebkit2gtk-4.0") | ||
+endif () | ||
+ | ||
# Link the resources dir to where Slic3r GUI expects it | ||
set(output_dlls_Release "") | ||
set(output_dlls_Debug "") | ||
-- | ||
2.38.1 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,172 @@ | ||
{ stdenv | ||
, lib | ||
, openexr | ||
, jemalloc | ||
, c-blosc | ||
, binutils | ||
, fetchFromGitHub | ||
, cmake | ||
, pkg-config | ||
, wrapGAppsHook | ||
, boost179 | ||
, cereal | ||
, cgal_5 | ||
, curl | ||
, dbus | ||
, eigen | ||
, expat | ||
, gcc-unwrapped | ||
, glew | ||
, glfw | ||
, glib | ||
, glib-networking | ||
, gmp | ||
, gstreamer | ||
, gst-plugins-base | ||
, gst-plugins-bad | ||
, gtest | ||
, gtk3 | ||
, hicolor-icon-theme | ||
, ilmbase | ||
, libpng | ||
, mesa | ||
, mpfr | ||
, nlopt | ||
, opencascade-occt | ||
, openvdb | ||
, pcre | ||
, qhull | ||
, systemd | ||
, tbb_2021_8 | ||
, webkitgtk | ||
, wxGTK31 | ||
, xorg | ||
, fetchpatch | ||
, withSystemd ? stdenv.isLinux | ||
}: | ||
let | ||
wxGTK31' = wxGTK31.overrideAttrs (old: { | ||
configureFlags = old.configureFlags ++ [ | ||
# Disable noisy debug dialogs | ||
"--enable-debug=no" | ||
]; | ||
}); | ||
openvdb_tbb_2021_8 = openvdb.overrideAttrs (old: rec { | ||
buildInputs = [ openexr boost179 tbb_2021_8 jemalloc c-blosc ilmbase ]; | ||
}); | ||
in | ||
stdenv.mkDerivation rec { | ||
pname = "bambu-studio"; | ||
version = "01.08.00.62"; | ||
|
||
src = fetchFromGitHub { | ||
owner = "bambulab"; | ||
repo = "BambuStudio"; | ||
rev = "v${version}"; | ||
hash = "sha256-Rb8YNf+ZQ8+9jAP/ZLze0PfY/liE7Rr2bJX33AENsbg="; | ||
}; | ||
|
||
nativeBuildInputs = [ | ||
cmake | ||
pkg-config | ||
wrapGAppsHook | ||
]; | ||
|
||
buildInputs = [ | ||
binutils | ||
boost179 | ||
cereal | ||
cgal_5 | ||
curl | ||
dbus | ||
eigen | ||
expat | ||
gcc-unwrapped | ||
glew | ||
glfw | ||
glib | ||
glib-networking | ||
gmp | ||
gstreamer | ||
gst-plugins-base | ||
gst-plugins-bad | ||
gtk3 | ||
hicolor-icon-theme | ||
ilmbase | ||
libpng | ||
mesa.osmesa | ||
mpfr | ||
nlopt | ||
opencascade-occt | ||
openvdb_tbb_2021_8 | ||
pcre | ||
tbb_2021_8 | ||
webkitgtk | ||
wxGTK31' | ||
xorg.libX11 | ||
] ++ lib.optionals withSystemd [ | ||
systemd | ||
] ++ checkInputs; | ||
|
||
patches = [ | ||
# Fix for webkitgtk linking | ||
./0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch | ||
]; | ||
|
||
doCheck = true; | ||
checkInputs = [ gtest ]; | ||
|
||
separateDebugInfo = true; | ||
|
||
# The build system uses custom logic - defined in | ||
# cmake/modules/FindNLopt.cmake in the package source - for finding the nlopt | ||
# library, which doesn't pick up the package in the nix store. We | ||
# additionally need to set the path via the NLOPT environment variable. | ||
NLOPT = nlopt; | ||
|
||
# Disable compiler warnings that clutter the build log. | ||
# It seems to be a known issue for Eigen: | ||
# http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1221 | ||
NIX_CFLAGS_COMPILE = "-Wno-ignored-attributes"; | ||
|
||
# prusa-slicer uses dlopen on `libudev.so` at runtime | ||
NIX_LDFLAGS = lib.optionalString withSystemd "-ludev"; | ||
|
||
# TODO: macOS | ||
prePatch = '' | ||
# Since version 2.5.0 of nlopt we need to link to libnlopt, as libnlopt_cxx | ||
# now seems to be integrated into the main lib. | ||
sed -i 's|nlopt_cxx|nlopt|g' cmake/modules/FindNLopt.cmake | ||
''; | ||
|
||
cmakeFlags = [ | ||
"-DSLIC3R_STATIC=0" | ||
"-DSLIC3R_FHS=1" | ||
"-DSLIC3R_GTK=3" | ||
|
||
# BambuStudio-specific | ||
"-DBBL_RELEASE_TO_PUBLIC=1" | ||
"-DBBL_INTERNAL_TESTING=0" | ||
"-DDEP_WX_GTK3=ON" | ||
"-DSLIC3R_BUILD_TESTS=0" | ||
"-DCMAKE_CXX_FLAGS=-DBOOST_LOG_DYN_LINK" | ||
]; | ||
|
||
preFixup = '' | ||
gappsWrapperArgs+=( | ||
--prefix LD_LIBRARY_PATH : "$out/lib" | ||
# Fixes intermittent crash | ||
# The upstream setup links in glew statically | ||
--prefix LD_PRELOAD : "${glew.out}/lib/libGLEW.so" | ||
) | ||
''; | ||
|
||
meta = with lib; { | ||
description = "PC Software for BambuLab's 3D printers"; | ||
homepage = "https://github.com/bambulab/BambuStudio"; | ||
license = licenses.agpl3; | ||
maintainers = with maintainers; [ zhaofengli ]; | ||
mainProgram = "bambu-studio"; | ||
}; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters