From 1dd96bb0f4ab4e539f6a1caf8941513c5bb12287 Mon Sep 17 00:00:00 2001 From: liberodark Date: Sun, 17 Nov 2024 10:35:09 +0100 Subject: [PATCH 1/2] bambu-studio: 01.09.07.52 > 01.10.01.50 --- .../misc/bambu-studio/default.nix | 15 +++++++------ .../patches/meshboolean-const.patch | 21 ------------------- 2 files changed, 9 insertions(+), 27 deletions(-) delete mode 100644 pkgs/applications/misc/bambu-studio/patches/meshboolean-const.patch diff --git a/pkgs/applications/misc/bambu-studio/default.nix b/pkgs/applications/misc/bambu-studio/default.nix index 168c3ccf72f9..d5aafeb2bb8f 100644 --- a/pkgs/applications/misc/bambu-studio/default.nix +++ b/pkgs/applications/misc/bambu-studio/default.nix @@ -8,11 +8,12 @@ wrapGAppsHook3, boost180, cereal, - cgal_5, + cgal, curl, dbus, eigen, expat, + ffmpeg, gcc-unwrapped, glew, glfw, @@ -55,13 +56,13 @@ let in stdenv.mkDerivation rec { pname = "bambu-studio"; - version = "01.09.07.52"; + version = "01.10.01.50"; src = fetchFromGitHub { owner = "bambulab"; repo = "BambuStudio"; rev = "v${version}"; - hash = "sha256-fhH4N29P/ysdHHbZt+FnBl3+QtTNhbVE3j4ZnFJyJH0="; + hash = "sha256-7mkrPl2CQSfc1lRjl1ilwxdYcK5iRU//QGKmdCicK30="; }; nativeBuildInputs = [ @@ -74,11 +75,12 @@ stdenv.mkDerivation rec { binutils boost180 cereal - cgal_5 + cgal curl dbus eigen expat + ffmpeg gcc-unwrapped glew glfw @@ -109,8 +111,6 @@ stdenv.mkDerivation rec { patches = [ # Fix for webkitgtk linking ./patches/0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch - # Fix build with cgal-5.6.1+ - ./patches/meshboolean-const.patch # Fix an issue with ./patches/dont-link-opencv-world-bambu.patch ]; @@ -149,6 +149,9 @@ stdenv.mkDerivation rec { "-DSLIC3R_FHS=1" "-DSLIC3R_GTK=3" + # Skips installing ffmpeg, since we BYO. + "-DFLATPAK=1" + # BambuStudio-specific "-DBBL_RELEASE_TO_PUBLIC=1" "-DBBL_INTERNAL_TESTING=0" diff --git a/pkgs/applications/misc/bambu-studio/patches/meshboolean-const.patch b/pkgs/applications/misc/bambu-studio/patches/meshboolean-const.patch deleted file mode 100644 index 68e72591d8f4..000000000000 --- a/pkgs/applications/misc/bambu-studio/patches/meshboolean-const.patch +++ /dev/null @@ -1,21 +0,0 @@ -Fix build with cgal 5.6.1+ - -diff --git a/src/libslic3r/MeshBoolean.cpp b/src/libslic3r/MeshBoolean.cpp -index 50bbc099..b05245d3 100644 ---- a/src/libslic3r/MeshBoolean.cpp -+++ b/src/libslic3r/MeshBoolean.cpp -@@ -200,12 +200,12 @@ indexed_triangle_set cgal_to_indexed_triangle_set(const _Mesh &cgalmesh) - const auto &vertices = cgalmesh.vertices(); - int vsize = int(vertices.size()); - -- for (auto &vi : vertices) { -+ for (const auto &vi : vertices) { - auto &v = cgalmesh.point(vi); // Don't ask... - its.vertices.emplace_back(to_vec3f(v)); - } - -- for (auto &face : faces) { -+ for (const auto &face : faces) { - auto vtc = cgalmesh.vertices_around_face(cgalmesh.halfedge(face)); - - int i = 0; From 498c93d3dc6cdabc68c14dc543ba80adb06c9f5b Mon Sep 17 00:00:00 2001 From: liberodark Date: Thu, 21 Nov 2024 00:11:55 +0100 Subject: [PATCH 2/2] bambu-studio: move to by-name --- .../ba/bambu-studio/package.nix} | 0 ...-CMakeLists-Link-against-webkit2gtk-.patch | 0 .../dont-link-opencv-world-bambu.patch | 0 .../or/orca-slicer/package.nix} | 1 - ...-CMakeLists-Link-against-webkit2gtk-.patch | 34 +++++++++++++++++++ .../patches/dont-link-opencv-world-orca.patch | 0 pkgs/top-level/all-packages.nix | 4 --- 7 files changed, 34 insertions(+), 5 deletions(-) rename pkgs/{applications/misc/bambu-studio/default.nix => by-name/ba/bambu-studio/package.nix} (100%) rename pkgs/{applications/misc => by-name/ba}/bambu-studio/patches/0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch (100%) rename pkgs/{applications/misc => by-name/ba}/bambu-studio/patches/dont-link-opencv-world-bambu.patch (100%) rename pkgs/{applications/misc/bambu-studio/orca-slicer.nix => by-name/or/orca-slicer/package.nix} (99%) create mode 100644 pkgs/by-name/or/orca-slicer/patches/0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch rename pkgs/{applications/misc/bambu-studio => by-name/or/orca-slicer}/patches/dont-link-opencv-world-orca.patch (100%) diff --git a/pkgs/applications/misc/bambu-studio/default.nix b/pkgs/by-name/ba/bambu-studio/package.nix similarity index 100% rename from pkgs/applications/misc/bambu-studio/default.nix rename to pkgs/by-name/ba/bambu-studio/package.nix diff --git a/pkgs/applications/misc/bambu-studio/patches/0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch b/pkgs/by-name/ba/bambu-studio/patches/0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch similarity index 100% rename from pkgs/applications/misc/bambu-studio/patches/0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch rename to pkgs/by-name/ba/bambu-studio/patches/0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch diff --git a/pkgs/applications/misc/bambu-studio/patches/dont-link-opencv-world-bambu.patch b/pkgs/by-name/ba/bambu-studio/patches/dont-link-opencv-world-bambu.patch similarity index 100% rename from pkgs/applications/misc/bambu-studio/patches/dont-link-opencv-world-bambu.patch rename to pkgs/by-name/ba/bambu-studio/patches/dont-link-opencv-world-bambu.patch diff --git a/pkgs/applications/misc/bambu-studio/orca-slicer.nix b/pkgs/by-name/or/orca-slicer/package.nix similarity index 99% rename from pkgs/applications/misc/bambu-studio/orca-slicer.nix rename to pkgs/by-name/or/orca-slicer/package.nix index 7e5c1f48ccd4..6bf780911104 100644 --- a/pkgs/applications/misc/bambu-studio/orca-slicer.nix +++ b/pkgs/by-name/or/orca-slicer/package.nix @@ -18,7 +18,6 @@ bambu-studio.overrideAttrs ( patches = [ # Fix for webkitgtk linking ./patches/0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch - ./patches/dont-link-opencv-world-orca.patch ]; diff --git a/pkgs/by-name/or/orca-slicer/patches/0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch b/pkgs/by-name/or/orca-slicer/patches/0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch new file mode 100644 index 000000000000..15f1bf8f0b59 --- /dev/null +++ b/pkgs/by-name/or/orca-slicer/patches/0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch @@ -0,0 +1,34 @@ +From 7eed499898226222a949a792e0400ec10db4a1c9 Mon Sep 17 00:00:00 2001 +From: Zhaofeng Li +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 + diff --git a/pkgs/applications/misc/bambu-studio/patches/dont-link-opencv-world-orca.patch b/pkgs/by-name/or/orca-slicer/patches/dont-link-opencv-world-orca.patch similarity index 100% rename from pkgs/applications/misc/bambu-studio/patches/dont-link-opencv-world-orca.patch rename to pkgs/by-name/or/orca-slicer/patches/dont-link-opencv-world-orca.patch diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index efa448c47cd0..b2de190f4909 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15869,10 +15869,6 @@ with pkgs; super-slicer-latest = super-slicer.latest; - bambu-studio = callPackage ../applications/misc/bambu-studio { }; - - orca-slicer = callPackage ../applications/misc/bambu-studio/orca-slicer.nix {}; - skrooge = libsForQt5.callPackage ../applications/office/skrooge { }; smartdeblur = libsForQt5.callPackage ../applications/graphics/smartdeblur { };