From 18fcf074a288cebc14a8334ea62da0c25b39574b Mon Sep 17 00:00:00 2001 From: Dany Sluijk Date: Sat, 12 Oct 2024 15:26:25 +0200 Subject: [PATCH 1/3] bambu-studio: 01.09.00.70 -> 01.09.07.52 --- maintainers/maintainer-list.nix | 6 ++ .../misc/bambu-studio/default.nix | 64 +++++++++++-------- .../misc/bambu-studio/orca-slicer.nix | 23 +++---- ...-CMakeLists-Link-against-webkit2gtk-.patch | 0 .../0002-fix-build-for-gcc-13.diff | 0 .../dont-link-opencv-world-bambu.patch | 14 ++++ .../dont-link-opencv-world-orca.patch} | 0 .../{ => patches}/meshboolean-const.patch | 0 pkgs/top-level/all-packages.nix | 10 +-- 9 files changed, 67 insertions(+), 50 deletions(-) rename pkgs/applications/misc/bambu-studio/{ => patches}/0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch (100%) rename pkgs/applications/misc/bambu-studio/{ => patches}/0002-fix-build-for-gcc-13.diff (100%) create mode 100644 pkgs/applications/misc/bambu-studio/patches/dont-link-opencv-world-bambu.patch rename pkgs/applications/misc/bambu-studio/{dont-link-opencv-world.patch => patches/dont-link-opencv-world-orca.patch} (100%) rename pkgs/applications/misc/bambu-studio/{ => patches}/meshboolean-const.patch (100%) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 7b0e36de4a3c..b43f3853919f 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -5781,6 +5781,12 @@ githubId = 1931963; name = "David Sferruzza"; }; + dsluijk = { + name = "Dany Sluijk"; + email = "nix@dany.dev"; + github = "dsluijk"; + githubId = 8537327; + }; dstengele = { name = "Dennis Stengele"; email = "dennis@stengele.me"; diff --git a/pkgs/applications/misc/bambu-studio/default.nix b/pkgs/applications/misc/bambu-studio/default.nix index 4084734aa58e..e753828b78dd 100644 --- a/pkgs/applications/misc/bambu-studio/default.nix +++ b/pkgs/applications/misc/bambu-studio/default.nix @@ -22,10 +22,7 @@ glib, glib-networking, gmp, - gstreamer, - gst-plugins-base, - gst-plugins-bad, - gst-plugins-good, + gst_all_1, gtest, gtk3, hicolor-icon-theme, @@ -36,23 +33,29 @@ nlopt, opencascade-occt_7_6, openvdb, + opencv, pcre, systemd, tbb_2021_11, - webkitgtk_4_0, + webkitgtk, wxGTK31, xorg, withSystemd ? stdenv.hostPlatform.isLinux, }: let - opencascade-occt = opencascade-occt_7_6; - wxGTK31' = wxGTK31.overrideAttrs (old: { - configureFlags = old.configureFlags ++ [ - # Disable noisy debug dialogs - "--enable-debug=no" - ]; - }); - openvdb_tbb_2021_8 = openvdb.overrideAttrs (old: { + wxGTK' = (wxGTK31.override { + withCurl = true; + withPrivateFonts = true; + withWebKit = true; + }) + .overrideAttrs (old: { + configureFlags = old.configureFlags ++ [ + # Disable noisy debug dialogs + "--enable-debug=no" + ]; + }); + + openvdb' = openvdb.overrideAttrs (old: { buildInputs = [ openexr boost179 @@ -65,13 +68,13 @@ let in stdenv.mkDerivation rec { pname = "bambu-studio"; - version = "01.09.00.70"; + version = "01.09.07.52"; src = fetchFromGitHub { owner = "bambulab"; repo = "BambuStudio"; rev = "v${version}"; - hash = "sha256-RBctBhKo7mjxsP7OJhGfoU1eIiGVuMiAqwwSU+gsMds="; + hash = "sha256-fhH4N29P/ysdHHbZt+FnBl3+QtTNhbVE3j4ZnFJyJH0="; }; nativeBuildInputs = [ @@ -95,10 +98,10 @@ stdenv.mkDerivation rec { glib glib-networking gmp - gstreamer - gst-plugins-base - gst-plugins-bad - gst-plugins-good + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-bad + gst_all_1.gst-plugins-good gtk3 hicolor-icon-theme ilmbase @@ -106,20 +109,23 @@ stdenv.mkDerivation rec { mesa.osmesa mpfr nlopt - opencascade-occt - openvdb_tbb_2021_8 + opencascade-occt_7_6 + openvdb' pcre tbb_2021_11 - webkitgtk_4_0 - wxGTK31' + webkitgtk + wxGTK' xorg.libX11 + opencv ] ++ lib.optionals withSystemd [ systemd ] ++ checkInputs; patches = [ # Fix for webkitgtk linking - ./0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch + ./patches/0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch # Fix build with cgal-5.6.1+ - ./meshboolean-const.patch + ./patches/meshboolean-const.patch + # Fix an issue with + ./patches/dont-link-opencv-world-bambu.patch ]; doCheck = true; @@ -136,7 +142,10 @@ stdenv.mkDerivation rec { # 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"; + NIX_CFLAGS_COMPILE = toString [ + "-Wno-ignored-attributes" + "-I${opencv.out}/include/opencv4" + ]; # prusa-slicer uses dlopen on `libudev.so` at runtime NIX_LDFLAGS = lib.optionalString withSystemd "-ludev"; @@ -181,8 +190,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "PC Software for BambuLab's 3D printers"; homepage = "https://github.com/bambulab/BambuStudio"; + changelog = "https://github.com/bambulab/BambuStudio/releases/tag/v${version}"; license = licenses.agpl3Plus; - maintainers = with maintainers; [ zhaofengli ]; + maintainers = with maintainers; [ zhaofengli dsluijk ]; mainProgram = "bambu-studio"; platforms = platforms.linux; }; diff --git a/pkgs/applications/misc/bambu-studio/orca-slicer.nix b/pkgs/applications/misc/bambu-studio/orca-slicer.nix index 353252dfea17..9f52f7de4260 100644 --- a/pkgs/applications/misc/bambu-studio/orca-slicer.nix +++ b/pkgs/applications/misc/bambu-studio/orca-slicer.nix @@ -16,20 +16,15 @@ bambu-studio.overrideAttrs ( hash = "sha256-7fusdSYpZb4sYl5L/+81PzMd42Nsejj+kCZsq0f7eIk="; }; - patches = - previousAttrs.patches - ++ [ - # FIXME: only required for 2.1.1, can be removed in the next version - ./0002-fix-build-for-gcc-13.diff - - ./dont-link-opencv-world.patch - ]; - - buildInputs = - previousAttrs.buildInputs - ++ [ - opencv - ]; + patches =[ + # FIXME: only required for 2.1.1, can be removed in the next version + ./patches/0002-fix-build-for-gcc-13.diff + # 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 + ./patches/dont-link-opencv-world-orca.patch + ]; preFixup = '' gappsWrapperArgs+=( diff --git a/pkgs/applications/misc/bambu-studio/0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch b/pkgs/applications/misc/bambu-studio/patches/0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch similarity index 100% rename from pkgs/applications/misc/bambu-studio/0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch rename to pkgs/applications/misc/bambu-studio/patches/0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch diff --git a/pkgs/applications/misc/bambu-studio/0002-fix-build-for-gcc-13.diff b/pkgs/applications/misc/bambu-studio/patches/0002-fix-build-for-gcc-13.diff similarity index 100% rename from pkgs/applications/misc/bambu-studio/0002-fix-build-for-gcc-13.diff rename to pkgs/applications/misc/bambu-studio/patches/0002-fix-build-for-gcc-13.diff diff --git a/pkgs/applications/misc/bambu-studio/patches/dont-link-opencv-world-bambu.patch b/pkgs/applications/misc/bambu-studio/patches/dont-link-opencv-world-bambu.patch new file mode 100644 index 000000000000..cb7e212144ac --- /dev/null +++ b/pkgs/applications/misc/bambu-studio/patches/dont-link-opencv-world-bambu.patch @@ -0,0 +1,14 @@ +diff --git a/src/libslic3r/CMakeLists.txt b/src/libslic3r/CMakeLists.txt +index 2cdc525..44e6602 100644 +--- a/src/libslic3r/CMakeLists.txt ++++ b/src/libslic3r/CMakeLists.txt +@@ -533,7 +533,8 @@ target_link_libraries(libslic3r + ${OCCT_LIBS} + Clipper2 + mcut +- opencv_world ++ opencv_core ++ opencv_imgproc + ) + + if(NOT WIN32) \ No newline at end of file diff --git a/pkgs/applications/misc/bambu-studio/dont-link-opencv-world.patch b/pkgs/applications/misc/bambu-studio/patches/dont-link-opencv-world-orca.patch similarity index 100% rename from pkgs/applications/misc/bambu-studio/dont-link-opencv-world.patch rename to pkgs/applications/misc/bambu-studio/patches/dont-link-opencv-world-orca.patch diff --git a/pkgs/applications/misc/bambu-studio/meshboolean-const.patch b/pkgs/applications/misc/bambu-studio/patches/meshboolean-const.patch similarity index 100% rename from pkgs/applications/misc/bambu-studio/meshboolean-const.patch rename to pkgs/applications/misc/bambu-studio/patches/meshboolean-const.patch diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3107d86d81c3..0037de0132af 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -32575,15 +32575,7 @@ with pkgs; super-slicer-latest = super-slicer.latest; - bambu-studio = callPackage ../applications/misc/bambu-studio { - inherit (gst_all_1) gstreamer gst-plugins-base gst-plugins-bad gst-plugins-good; - - wxGTK31 = wxGTK31.override { - withCurl = true; - withPrivateFonts = true; - withWebKit = true; - }; - }; + bambu-studio = callPackage ../applications/misc/bambu-studio { }; orca-slicer = callPackage ../applications/misc/bambu-studio/orca-slicer.nix {}; From b7f7cc1dce81a15f12808245a69851aec818e69b Mon Sep 17 00:00:00 2001 From: Dany Sluijk Date: Sat, 12 Oct 2024 15:31:05 +0200 Subject: [PATCH 2/3] bambu-studio: format file --- .../misc/bambu-studio/default.nix | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/pkgs/applications/misc/bambu-studio/default.nix b/pkgs/applications/misc/bambu-studio/default.nix index e753828b78dd..47bcc82a20cf 100644 --- a/pkgs/applications/misc/bambu-studio/default.nix +++ b/pkgs/applications/misc/bambu-studio/default.nix @@ -43,17 +43,18 @@ withSystemd ? stdenv.hostPlatform.isLinux, }: let - wxGTK' = (wxGTK31.override { + wxGTK' = + (wxGTK31.override { withCurl = true; withPrivateFonts = true; withWebKit = true; - }) - .overrideAttrs (old: { - configureFlags = old.configureFlags ++ [ - # Disable noisy debug dialogs - "--enable-debug=no" - ]; - }); + }).overrideAttrs + (old: { + configureFlags = old.configureFlags ++ [ + # Disable noisy debug dialogs + "--enable-debug=no" + ]; + }); openvdb' = openvdb.overrideAttrs (old: { buildInputs = [ @@ -192,7 +193,10 @@ stdenv.mkDerivation rec { homepage = "https://github.com/bambulab/BambuStudio"; changelog = "https://github.com/bambulab/BambuStudio/releases/tag/v${version}"; license = licenses.agpl3Plus; - maintainers = with maintainers; [ zhaofengli dsluijk ]; + maintainers = with maintainers; [ + zhaofengli + dsluijk + ]; mainProgram = "bambu-studio"; platforms = platforms.linux; }; From 4117c7f7b143d14de2f9dfbd86ed5e1936634dbb Mon Sep 17 00:00:00 2001 From: Dany Sluijk Date: Mon, 14 Oct 2024 14:32:33 +0200 Subject: [PATCH 3/3] bambu-studio: explicitly define webkitgtk version --- pkgs/applications/misc/bambu-studio/default.nix | 4 ++-- pkgs/applications/misc/bambu-studio/orca-slicer.nix | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/misc/bambu-studio/default.nix b/pkgs/applications/misc/bambu-studio/default.nix index 47bcc82a20cf..481f36571706 100644 --- a/pkgs/applications/misc/bambu-studio/default.nix +++ b/pkgs/applications/misc/bambu-studio/default.nix @@ -37,7 +37,7 @@ pcre, systemd, tbb_2021_11, - webkitgtk, + webkitgtk_4_0, wxGTK31, xorg, withSystemd ? stdenv.hostPlatform.isLinux, @@ -114,7 +114,7 @@ stdenv.mkDerivation rec { openvdb' pcre tbb_2021_11 - webkitgtk + webkitgtk_4_0 wxGTK' xorg.libX11 opencv diff --git a/pkgs/applications/misc/bambu-studio/orca-slicer.nix b/pkgs/applications/misc/bambu-studio/orca-slicer.nix index 9f52f7de4260..db86a8c40815 100644 --- a/pkgs/applications/misc/bambu-studio/orca-slicer.nix +++ b/pkgs/applications/misc/bambu-studio/orca-slicer.nix @@ -2,7 +2,6 @@ lib, fetchFromGitHub, bambu-studio, - opencv, }: bambu-studio.overrideAttrs ( finalAttrs: previousAttrs: {