From 02fad9eefdba1b8dfda4cb494c0940c79a7367ab Mon Sep 17 00:00:00 2001 From: hesiod Date: Sun, 29 Oct 2023 15:06:43 +0100 Subject: [PATCH] super-slicer-latest: 2.4.58.3 -> 2.4.58.5; super-slicer-beta: init at 2.5.59.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * super-slicer-latest: 2.4.58.3 -> 2.4.58.5 * super-slicer-beta: init at 2.5.59.2 * super-slicer: Remove old workaround * super-slicer: Add maintainer tmarkus * prusa-slicer: Add maintainer tmarkus * super-slicer: Move to tbb_2021_8 super-slicer.latest requires tbb_2021_8 in order to build correctly. Move super-slicer over to tbb_2021_8 and remove the no longer required TBB discovery patches. * prusa-slicer: Remove unused gtest dependency * prusa-slicer: Exclude tests in custom checkPhase * prusa-slicer: Remove compiler warning override Eigen disables -Wignored-attributes on its own now. * super-slicer: Fix libexpat linking issue --------- Co-authored-by: André-Patrick Bubel --- .../misc/prusa-slicer/default.nix | 28 ++++----- .../misc/prusa-slicer/super-slicer.nix | 60 ++++++++++--------- pkgs/top-level/all-packages.nix | 2 + 3 files changed, 49 insertions(+), 41 deletions(-) diff --git a/pkgs/applications/misc/prusa-slicer/default.nix b/pkgs/applications/misc/prusa-slicer/default.nix index fb796eb95de3..0c9907764f22 100644 --- a/pkgs/applications/misc/prusa-slicer/default.nix +++ b/pkgs/applications/misc/prusa-slicer/default.nix @@ -18,7 +18,6 @@ , glew , glib , gmp -, gtest , gtk3 , hicolor-icon-theme , ilmbase @@ -105,10 +104,7 @@ stdenv.mkDerivation (finalAttrs: { xorg.libX11 ] ++ lib.optionals withSystemd [ systemd - ] ++ finalAttrs.nativeCheckInputs; - - doCheck = true; - nativeCheckInputs = [ gtest ]; + ]; separateDebugInfo = true; @@ -118,11 +114,6 @@ stdenv.mkDerivation (finalAttrs: { # 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 - env.NIX_CFLAGS_COMPILE = "-Wno-ignored-attributes"; - # prusa-slicer uses dlopen on `libudev.so` at runtime NIX_LDFLAGS = lib.optionalString withSystemd "-ludev"; @@ -150,9 +141,6 @@ stdenv.mkDerivation (finalAttrs: { # Fix resources folder location on macOS substituteInPlace src/PrusaSlicer.cpp \ --replace "#ifdef __APPLE__" "#if 0" - '' + lib.optionalString (stdenv.isDarwin && stdenv.isx86_64) '' - # Disable segfault tests - sed -i '/libslic3r/d' tests/CMakeLists.txt ''; patches = [ @@ -193,11 +181,23 @@ stdenv.mkDerivation (finalAttrs: { ) ''; + doCheck = true; + + checkPhase = '' + runHook preCheck + + ctest \ + --force-new-ctest-process \ + -E 'libslic3r_tests|sla_print_tests' + + runHook postCheck + ''; + meta = with lib; { description = "G-code generator for 3D printer"; homepage = "https://github.com/prusa3d/PrusaSlicer"; license = licenses.agpl3; - maintainers = with maintainers; [ moredread tweber ]; + maintainers = with maintainers; [ moredread tweber tmarkus ]; } // lib.optionalAttrs (stdenv.isDarwin) { mainProgram = "PrusaSlicer"; }; diff --git a/pkgs/applications/misc/prusa-slicer/super-slicer.nix b/pkgs/applications/misc/prusa-slicer/super-slicer.nix index 6f071521d9bf..308c0949f134 100644 --- a/pkgs/applications/misc/prusa-slicer/super-slicer.nix +++ b/pkgs/applications/misc/prusa-slicer/super-slicer.nix @@ -1,9 +1,23 @@ -{ lib, fetchFromGitHub, fetchpatch, makeDesktopItem, wxGTK31, prusa-slicer }: +{ lib, fetchFromGitHub, fetchpatch, makeDesktopItem, wxGTK31, prusa-slicer, libspnav }: let appname = "SuperSlicer"; pname = "super-slicer"; description = "PrusaSlicer fork with more features and faster development cycle"; + patches = [ + # Fix compile error with boost 1.79. See https://github.com/supermerill/SuperSlicer/issues/2823 + (fetchpatch { + url = "https://raw.githubusercontent.com/gentoo/gentoo/81e3ca3b7c131e8345aede89e3bbcd700e1ad567/media-gfx/superslicer/files/superslicer-2.4.58.3-boost-1.79-port-v2.patch"; + # Excludes Linux-only patches + excludes = [ + "src/slic3r/GUI/FreeCADDialog.cpp" + "src/slic3r/GUI/Tab.cpp" + "src/slic3r/Utils/Http.cpp" + ]; + sha256 = "sha256-v0q2MhySayij7+qBTE5q01IOq/DyUcWnjpbzB/AV34c="; + }) + ]; + versions = { stable = { version = "2.3.57.12"; @@ -11,26 +25,14 @@ let patches = null; }; latest = { - version = "2.4.58.3"; - sha256 = "sha256-pEZcBEvK4Mq8nytiXLJvta7Bk6qZRJfTNrYz7N/aUAE="; - patches = [ - # Fix detection of TBB, see https://github.com/prusa3d/PrusaSlicer/issues/6355 - (fetchpatch { - url = "https://github.com/prusa3d/PrusaSlicer/commit/76f4d6fa98bda633694b30a6e16d58665a634680.patch"; - sha256 = "1r806ycp704ckwzgrw1940hh1l6fpz0k1ww3p37jdk6mygv53nv6"; - }) - # Fix compile error with boost 1.79. See https://github.com/supermerill/SuperSlicer/issues/2823 - (fetchpatch { - url = "https://raw.githubusercontent.com/gentoo/gentoo/81e3ca3b7c131e8345aede89e3bbcd700e1ad567/media-gfx/superslicer/files/superslicer-2.4.58.3-boost-1.79-port-v2.patch"; - # Excludes Linux-only patches - excludes = [ - "src/slic3r/GUI/FreeCADDialog.cpp" - "src/slic3r/GUI/Tab.cpp" - "src/slic3r/Utils/Http.cpp" - ]; - sha256 = "sha256-v0q2MhySayij7+qBTE5q01IOq/DyUcWnjpbzB/AV34c="; - }) - ]; + version = "2.4.58.5"; + sha256 = "sha256-UywxEGedXaBUTKojEkbkuejI6SdPSkPxTJMwUDNW6W0="; + inherit patches; + }; + beta = { + version = "2.5.59.2"; + sha256 = "sha256-IgE+NWy2DUrPR2ROfK1F67e8B3eoM9yRVQ0GZTxJ42I="; + inherit patches; }; }; @@ -45,19 +47,23 @@ let fetchSubmodules = true; }; - # wxScintilla is not used on macOS + # - wxScintilla is not used on macOS + # - Partially applied upstream changes cause a bug when trying to link against a nonexistent libexpat prePatch = super.prePatch + '' substituteInPlace src/CMakeLists.txt \ - --replace "scintilla" "" + --replace "scintilla" "" \ + --replace "list(APPEND wxWidgets_LIBRARIES libexpat)" "list(APPEND wxWidgets_LIBRARIES EXPAT::EXPAT)" + + substituteInPlace src/libslic3r/CMakeLists.txt \ + --replace "libexpat" "EXPAT::EXPAT" ''; # We don't need PS overrides anymore, and gcode-viewer is embedded in the binary. postInstall = null; separateDebugInfo = true; - # See https://github.com/supermerill/SuperSlicer/issues/432 - cmakeFlags = super.cmakeFlags ++ [ - "-DSLIC3R_BUILD_TESTS=0" + buildInputs = super.buildInputs ++ [ + libspnav ]; desktopItems = [ @@ -76,7 +82,7 @@ let inherit description; homepage = "https://github.com/supermerill/SuperSlicer"; license = licenses.agpl3; - maintainers = with maintainers; [ cab404 moredread ]; + maintainers = with maintainers; [ cab404 moredread tmarkus ]; mainProgram = "superslicer"; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 40406a726065..c6cd0f4a3c33 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -35456,6 +35456,8 @@ with pkgs; super-slicer = darwin.apple_sdk_11_0.callPackage ../applications/misc/prusa-slicer/super-slicer.nix { }; + super-slicer-beta = super-slicer.beta; + super-slicer-latest = super-slicer.latest; snapmaker-luban = callPackage ../applications/misc/snapmaker-luban { };