super-slicer-latest: 2.4.58.3 -> 2.4.58.5; super-slicer-beta: init at 2.5.59.2

* 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 <code@apb.name>

authored by hesiod André-Patrick Bubel and committed by GitHub 02fad9ee 8ab0e6fd

+49 -41
+14 -14
pkgs/applications/misc/prusa-slicer/default.nix
··· 18 18 , glew 19 19 , glib 20 20 , gmp 21 - , gtest 22 21 , gtk3 23 22 , hicolor-icon-theme 24 23 , ilmbase ··· 105 104 xorg.libX11 106 105 ] ++ lib.optionals withSystemd [ 107 106 systemd 108 - ] ++ finalAttrs.nativeCheckInputs; 109 - 110 - doCheck = true; 111 - nativeCheckInputs = [ gtest ]; 107 + ]; 112 108 113 109 separateDebugInfo = true; 114 110 ··· 117 113 # library, which doesn't pick up the package in the nix store. We 118 114 # additionally need to set the path via the NLOPT environment variable. 119 115 NLOPT = nlopt; 120 - 121 - # Disable compiler warnings that clutter the build log. 122 - # It seems to be a known issue for Eigen: 123 - # http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1221 124 - env.NIX_CFLAGS_COMPILE = "-Wno-ignored-attributes"; 125 116 126 117 # prusa-slicer uses dlopen on `libudev.so` at runtime 127 118 NIX_LDFLAGS = lib.optionalString withSystemd "-ludev"; ··· 150 141 # Fix resources folder location on macOS 151 142 substituteInPlace src/PrusaSlicer.cpp \ 152 143 --replace "#ifdef __APPLE__" "#if 0" 153 - '' + lib.optionalString (stdenv.isDarwin && stdenv.isx86_64) '' 154 - # Disable segfault tests 155 - sed -i '/libslic3r/d' tests/CMakeLists.txt 156 144 ''; 157 145 158 146 patches = [ ··· 193 181 ) 194 182 ''; 195 183 184 + doCheck = true; 185 + 186 + checkPhase = '' 187 + runHook preCheck 188 + 189 + ctest \ 190 + --force-new-ctest-process \ 191 + -E 'libslic3r_tests|sla_print_tests' 192 + 193 + runHook postCheck 194 + ''; 195 + 196 196 meta = with lib; { 197 197 description = "G-code generator for 3D printer"; 198 198 homepage = "https://github.com/prusa3d/PrusaSlicer"; 199 199 license = licenses.agpl3; 200 - maintainers = with maintainers; [ moredread tweber ]; 200 + maintainers = with maintainers; [ moredread tweber tmarkus ]; 201 201 } // lib.optionalAttrs (stdenv.isDarwin) { 202 202 mainProgram = "PrusaSlicer"; 203 203 };
+33 -27
pkgs/applications/misc/prusa-slicer/super-slicer.nix
··· 1 - { lib, fetchFromGitHub, fetchpatch, makeDesktopItem, wxGTK31, prusa-slicer }: 1 + { lib, fetchFromGitHub, fetchpatch, makeDesktopItem, wxGTK31, prusa-slicer, libspnav }: 2 2 let 3 3 appname = "SuperSlicer"; 4 4 pname = "super-slicer"; 5 5 description = "PrusaSlicer fork with more features and faster development cycle"; 6 6 7 + patches = [ 8 + # Fix compile error with boost 1.79. See https://github.com/supermerill/SuperSlicer/issues/2823 9 + (fetchpatch { 10 + url = "https://raw.githubusercontent.com/gentoo/gentoo/81e3ca3b7c131e8345aede89e3bbcd700e1ad567/media-gfx/superslicer/files/superslicer-2.4.58.3-boost-1.79-port-v2.patch"; 11 + # Excludes Linux-only patches 12 + excludes = [ 13 + "src/slic3r/GUI/FreeCADDialog.cpp" 14 + "src/slic3r/GUI/Tab.cpp" 15 + "src/slic3r/Utils/Http.cpp" 16 + ]; 17 + sha256 = "sha256-v0q2MhySayij7+qBTE5q01IOq/DyUcWnjpbzB/AV34c="; 18 + }) 19 + ]; 20 + 7 21 versions = { 8 22 stable = { 9 23 version = "2.3.57.12"; ··· 11 25 patches = null; 12 26 }; 13 27 latest = { 14 - version = "2.4.58.3"; 15 - sha256 = "sha256-pEZcBEvK4Mq8nytiXLJvta7Bk6qZRJfTNrYz7N/aUAE="; 16 - patches = [ 17 - # Fix detection of TBB, see https://github.com/prusa3d/PrusaSlicer/issues/6355 18 - (fetchpatch { 19 - url = "https://github.com/prusa3d/PrusaSlicer/commit/76f4d6fa98bda633694b30a6e16d58665a634680.patch"; 20 - sha256 = "1r806ycp704ckwzgrw1940hh1l6fpz0k1ww3p37jdk6mygv53nv6"; 21 - }) 22 - # Fix compile error with boost 1.79. See https://github.com/supermerill/SuperSlicer/issues/2823 23 - (fetchpatch { 24 - url = "https://raw.githubusercontent.com/gentoo/gentoo/81e3ca3b7c131e8345aede89e3bbcd700e1ad567/media-gfx/superslicer/files/superslicer-2.4.58.3-boost-1.79-port-v2.patch"; 25 - # Excludes Linux-only patches 26 - excludes = [ 27 - "src/slic3r/GUI/FreeCADDialog.cpp" 28 - "src/slic3r/GUI/Tab.cpp" 29 - "src/slic3r/Utils/Http.cpp" 30 - ]; 31 - sha256 = "sha256-v0q2MhySayij7+qBTE5q01IOq/DyUcWnjpbzB/AV34c="; 32 - }) 33 - ]; 28 + version = "2.4.58.5"; 29 + sha256 = "sha256-UywxEGedXaBUTKojEkbkuejI6SdPSkPxTJMwUDNW6W0="; 30 + inherit patches; 31 + }; 32 + beta = { 33 + version = "2.5.59.2"; 34 + sha256 = "sha256-IgE+NWy2DUrPR2ROfK1F67e8B3eoM9yRVQ0GZTxJ42I="; 35 + inherit patches; 34 36 }; 35 37 }; 36 38 ··· 45 47 fetchSubmodules = true; 46 48 }; 47 49 48 - # wxScintilla is not used on macOS 50 + # - wxScintilla is not used on macOS 51 + # - Partially applied upstream changes cause a bug when trying to link against a nonexistent libexpat 49 52 prePatch = super.prePatch + '' 50 53 substituteInPlace src/CMakeLists.txt \ 51 - --replace "scintilla" "" 54 + --replace "scintilla" "" \ 55 + --replace "list(APPEND wxWidgets_LIBRARIES libexpat)" "list(APPEND wxWidgets_LIBRARIES EXPAT::EXPAT)" 56 + 57 + substituteInPlace src/libslic3r/CMakeLists.txt \ 58 + --replace "libexpat" "EXPAT::EXPAT" 52 59 ''; 53 60 54 61 # We don't need PS overrides anymore, and gcode-viewer is embedded in the binary. 55 62 postInstall = null; 56 63 separateDebugInfo = true; 57 64 58 - # See https://github.com/supermerill/SuperSlicer/issues/432 59 - cmakeFlags = super.cmakeFlags ++ [ 60 - "-DSLIC3R_BUILD_TESTS=0" 65 + buildInputs = super.buildInputs ++ [ 66 + libspnav 61 67 ]; 62 68 63 69 desktopItems = [ ··· 76 82 inherit description; 77 83 homepage = "https://github.com/supermerill/SuperSlicer"; 78 84 license = licenses.agpl3; 79 - maintainers = with maintainers; [ cab404 moredread ]; 85 + maintainers = with maintainers; [ cab404 moredread tmarkus ]; 80 86 mainProgram = "superslicer"; 81 87 }; 82 88
+2
pkgs/top-level/all-packages.nix
··· 35456 35456 35457 35457 super-slicer = darwin.apple_sdk_11_0.callPackage ../applications/misc/prusa-slicer/super-slicer.nix { }; 35458 35458 35459 + super-slicer-beta = super-slicer.beta; 35460 + 35459 35461 super-slicer-latest = super-slicer.latest; 35460 35462 35461 35463 snapmaker-luban = callPackage ../applications/misc/snapmaker-luban { };