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>
This commit is contained in:
hesiod 2023-10-29 15:06:43 +01:00 committed by GitHub
parent 8ab0e6fdae
commit 02fad9eefd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 49 additions and 41 deletions

View File

@ -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";
};

View File

@ -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";
};

View File

@ -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 { };