Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

prusa-slicer: 2.5.2 -> 2.6.0 #238921

Merged
merged 2 commits into from
Jul 2, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 46 additions & 32 deletions pkgs/applications/misc/prusa-slicer/default.nix
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
{ stdenv
, lib
, openexr
, jemalloc
, c-blosc
, binutils
, fetchFromGitHub
, cmake
Expand All @@ -21,33 +24,50 @@
, ilmbase
, libpng
, mpfr
, nanosvg
, nlopt
, opencascade-occt
, openvdb
, pcre
, qhull
, tbb
, wxGTK31
, tbb_2021_8
, wxGTK32
, xorg
, fetchpatch
, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, systemd
}:
let
wxGTK-prusa = wxGTK31.overrideAttrs (old: rec {
wxGTK-prusa = wxGTK32.overrideAttrs (old: rec {
pname = "wxwidgets-prusa3d-patched";
version = "3.1.4";
version = "3.2.0";
configureFlags = old.configureFlags ++ [ "--disable-glcanvasegl" ];
patches = [ ./wxWidgets-Makefile.in-fix.patch ];
src = fetchFromGitHub {
owner = "prusa3d";
repo = "wxWidgets";
rev = "489f6118256853cf5b299d595868641938566cdb";
hash = "sha256-xGL5I2+bPjmZGSTYe1L7VAmvLHbwd934o/cxg9baEvQ=";
rev = "78aa2dc0ea7ce99dc19adc1140f74c3e2e3f3a26";
hash = "sha256-rYvmNmvv48JSKVT4ph9AS+JdstnLSRmcpWz1IdgBzQo=";
fetchSubmodules = true;
};
});
nanosvg-fltk = nanosvg.overrideAttrs (old: rec {
pname = "nanosvg-fltk";
version = "unstable-2022-12-22";

src = fetchFromGitHub {
owner = "fltk";
repo = "nanosvg";
rev = "abcd277ea45e9098bed752cf9c6875b533c0892f";
hash = "sha256-WNdAYu66ggpSYJ8Kt57yEA4mSTv+Rvzj9Rm1q765HpY=";
};
});
openvdb_tbb_2021_8 = openvdb.overrideAttrs (old: rec {
buildInputs = [ openexr boost tbb_2021_8 jemalloc c-blosc ilmbase ];
});
in
stdenv.mkDerivation rec {
pname = "prusa-slicer";
version = "2.5.2";
version = "2.6.0";

nativeBuildInputs = [
cmake
Expand All @@ -72,35 +92,19 @@ stdenv.mkDerivation rec {
ilmbase
libpng
mpfr
nanosvg-fltk
nlopt
opencascade-occt
openvdb
openvdb_tbb_2021_8
pcre
tbb
qhull
tbb_2021_8
wxGTK-prusa
xorg.libX11
] ++ lib.optionals withSystemd [
systemd
] ++ nativeCheckInputs;

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/prusa3d/PrusaSlicer/issues/8238
# Can be removed with the next version update
(fetchpatch {
url = "https://github.com/prusa3d/PrusaSlicer/commit/408e56f0390f20aaf793e0aa0c70c4d9544401d4.patch";
sha256 = "sha256-vzEPjLE3Yy5szawPn2Yp3i7MceWewpdnLUPVu9+H3W8=";
})
(fetchpatch {
url = "https://github.com/prusa3d/PrusaSlicer/commit/926ae0471800abd1e5335e251a5934570eb8f6ff.patch";
sha256 = "sha256-tAEgubeGGKFWY7r7p/6pmI2HXUGKi2TM1X5ILVZVT20=";
})
];

doCheck = true;
nativeCheckInputs = [ gtest ];

Expand All @@ -125,10 +129,8 @@ stdenv.mkDerivation rec {
# now seems to be integrated into the main lib.
sed -i 's|nlopt_cxx|nlopt|g' cmake/modules/FindNLopt.cmake

# Disable test_voronoi.cpp as the assembler hangs during build,
# likely due to commit e682dd84cff5d2420fcc0a40508557477f6cc9d3
# See issue #185808 for details.
sed -i 's|test_voronoi.cpp||g' tests/libslic3r/CMakeLists.txt
# Disable slic3r_jobs_tests.cpp as the test fails sometimes
sed -i 's|slic3r_jobs_tests.cpp||g' tests/slic3rutils/CMakeLists.txt

# prusa-slicer expects the OCCTWrapper shared library in the same folder as
# the executable when loading STEP files. We force the loader to find it in
Expand All @@ -138,6 +140,10 @@ stdenv.mkDerivation rec {
substituteInPlace src/libslic3r/Format/STEP.cpp \
--replace 'libpath /= "OCCTWrapper.so";' 'libpath = "OCCTWrapper.so";'
fi
# https://github.com/prusa3d/PrusaSlicer/issues/9581
if [ -f "cmake/modules/FindEXPAT.cmake" ]; then
rm cmake/modules/FindEXPAT.cmake
fi

# Fix resources folder location on macOS
substituteInPlace src/PrusaSlicer.cpp \
Expand All @@ -147,10 +153,18 @@ stdenv.mkDerivation rec {
sed -i '/libslic3r/d' tests/CMakeLists.txt
'';

patches = [
# wxWidgets: CheckResizerFlags assert fix
(fetchpatch {
url = "https://github.com/prusa3d/PrusaSlicer/commit/24a5ebd65c9d25a0fd69a3716d079fd1b00eb15c.patch";
hash = "sha256-MNGtaI7THu6HEl9dMwcO1hkrCtIkscoNh4ulA2cKtZA=";
})
];

src = fetchFromGitHub {
owner = "prusa3d";
repo = "PrusaSlicer";
sha256 = "sha256-oQRBVAbA2wOYZkQiYIgbd3UcKAkXjnNXo6gB5QbPDAs=";
hash = "sha256-6AZdwNcgddHePyB0bNS7xGmpz38uzhAwUxgo48OQLuU=";
rev = "version_${version}";
};

Expand Down
112 changes: 112 additions & 0 deletions pkgs/applications/misc/prusa-slicer/wxWidgets-Makefile.in-fix.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
diff --git a/Makefile.in b/Makefile.in
index 8f33aa2ff4..39928382da 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -4358,7 +4358,7 @@ COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS = \
monodll_msw_utils.o \
monodll_utilsexc.o \
monodll_fswatcher.o \
- monodll_msw_secretstore.o
+ monodll_msw_secretstore.o \
monodll_msw_uilocale.o
@COND_PLATFORM_WIN32_1@__BASE_PLATFORM_SRC_OBJECTS = $(COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS)
@COND_PLATFORM_WIN32_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS \
@@ -5284,7 +5284,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS = \
monodll_uuid.o \
monodll_msw_evtloop.o \
monodll_access.o \
- monodll_dark_mode.o
+ monodll_dark_mode.o \
monodll_msw_bmpbndl.o
@COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS)
@COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS = \
@@ -6196,7 +6196,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_1 = \
monodll_uuid.o \
monodll_msw_evtloop.o \
monodll_access.o \
- monodll_dark_mode.o
+ monodll_dark_mode.o \
monodll_msw_bmpbndl.o
@COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_1 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_1)
@COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_1 = \
@@ -6371,7 +6371,7 @@ COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_1 = \
monolib_msw_utils.o \
monolib_utilsexc.o \
monolib_fswatcher.o \
- monolib_msw_secretstore.o
+ monolib_msw_secretstore.o \
monolib_msw_uilocale.o
@COND_PLATFORM_WIN32_1@__BASE_PLATFORM_SRC_OBJECTS_1 = $(COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_1)
@COND_PLATFORM_WIN32_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS_1 \
@@ -7297,7 +7297,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_2 = \
monolib_uuid.o \
monolib_msw_evtloop.o \
monolib_access.o \
- monolib_dark_mode.o
+ monolib_dark_mode.o \
monolib_msw_bmpbndl.o
@COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_2 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_2)
@COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_2 = \
@@ -8209,7 +8209,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_3 = \
monolib_uuid.o \
monolib_msw_evtloop.o \
monolib_access.o \
- monolib_dark_mode.o
+ monolib_dark_mode.o \
monolib_msw_bmpbndl.o
@COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_3 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_3)
@COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_3 = \
@@ -8436,7 +8436,7 @@ COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_2 = \
basedll_msw_utils.o \
basedll_utilsexc.o \
basedll_fswatcher.o \
- basedll_msw_secretstore.o
+ basedll_msw_secretstore.o \
basedll_msw_uilocale.o
@COND_PLATFORM_WIN32_1@__BASE_PLATFORM_SRC_OBJECTS_2 = $(COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_2)
@COND_PLATFORM_WIN32_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS_2 \
@@ -8523,7 +8523,7 @@ COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_3 = \
baselib_msw_utils.o \
baselib_utilsexc.o \
baselib_fswatcher.o \
- baselib_msw_secretstore.o
+ baselib_msw_secretstore.o \
baselib_msw_uilocale.o
@COND_PLATFORM_WIN32_1@__BASE_PLATFORM_SRC_OBJECTS_3 = $(COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_3)
@COND_PLATFORM_WIN32_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS_3 \
@@ -9464,7 +9464,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_4 = \
coredll_uuid.o \
coredll_msw_evtloop.o \
coredll_access.o \
- coredll_dark_mode.o
+ coredll_dark_mode.o \
coredll_msw_bmpbndl.o
@COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_4 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_4)
@COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_4 = \
@@ -10376,7 +10376,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_5 = \
coredll_uuid.o \
coredll_msw_evtloop.o \
coredll_access.o \
- coredll_dark_mode.o
+ coredll_dark_mode.o \
coredll_msw_bmpbndl.o
@COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_5 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_5)
@COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_5 = \
@@ -11204,7 +11204,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_6 = \
corelib_uuid.o \
corelib_msw_evtloop.o \
corelib_access.o \
- corelib_dark_mode.o
+ corelib_dark_mode.o \
corelib_msw_bmpbndl.o
@COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_6 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_6)
@COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_6 = \
@@ -12116,7 +12116,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_7 = \
corelib_uuid.o \
corelib_msw_evtloop.o \
corelib_access.o \
- corelib_dark_mode.o
+ corelib_dark_mode.o \
corelib_msw_bmpbndl.o
@COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_7 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_7)
@COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_7 = \
23 changes: 23 additions & 0 deletions pkgs/development/libraries/nanosvg/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{ lib, stdenv, fetchFromGitHub, cmake }:

stdenv.mkDerivation {
pname = "nanosvg";
version = "unstable-2022-12-04";

src = fetchFromGitHub {
owner = "memononen";
repo = "nanosvg";
rev = "9da543e8329fdd81b64eb48742d8ccb09377aed1";
hash = "sha256-VOiN6583DtzGYPRkl19VG2QvSzl4T9HaynBuNcvZf94=";
};

nativeBuildInputs = [ cmake ];

meta = with lib; {
description = "Simple stupid SVG parser";
homepage = "https://github.com/memononen/nanosvg";
license = licenses.zlib;
platforms = platforms.all;
};
}

2 changes: 2 additions & 0 deletions pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -23362,6 +23362,8 @@ with pkgs;

nanomsg = callPackage ../development/libraries/nanomsg { };

nanosvg = callPackage ../development/libraries/nanosvg { };

nanovna-saver = libsForQt5.callPackage ../applications/science/electronics/nanovna-saver { };

nanotts = callPackage ../tools/audio/nanotts { };
Expand Down