openscad: apply boost 1.89 patch (#493813)
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
diff --git a/features/boost.prf b/features/boost.prf
|
||||
index 518d08b8f..4e092f6e7 100644
|
||||
--- a/features/boost.prf
|
||||
+++ b/features/boost.prf
|
||||
@@ -17,7 +17,7 @@ CONFIG(mingw-cross-env)|CONFIG(mingw-cross-env-shared) {
|
||||
DEFINES += BOOST_STATIC
|
||||
DEFINES += Boost_USE_STATIC_LIBS
|
||||
}
|
||||
- BOOST_LINK_FLAGS = -lboost_thread_win32-mt -lboost_program_options-mt -lboost_filesystem-mt -lboost_system-mt -lboost_regex-mt -lboost_chrono-mt
|
||||
+ BOOST_LINK_FLAGS = -lboost_thread_win32-mt -lboost_program_options-mt -lboost_filesystem-mt -lboost_regex-mt -lboost_chrono-mt
|
||||
}
|
||||
|
||||
# MSYS2
|
||||
@@ -25,7 +25,7 @@ isEmpty(BOOST_LINK_FLAGS):win32-g++ {
|
||||
DEFINES += BOOST_STATIC
|
||||
DEFINES += BOOST_THREAD_USE_LIB
|
||||
DEFINES += Boost_USE_STATIC_LIBS
|
||||
- BOOST_LINK_FLAGS = -lboost_thread-mt -lboost_program_options-mt -lboost_filesystem-mt -lboost_system-mt -lboost_regex-mt
|
||||
+ BOOST_LINK_FLAGS = -lboost_thread-mt -lboost_program_options-mt -lboost_filesystem-mt -lboost_regex-mt
|
||||
}
|
||||
|
||||
# check for OPENSCAD_LIBDIR + multithread
|
||||
@@ -33,10 +33,10 @@ isEmpty(BOOST_LINK_FLAGS) {
|
||||
OPENSCAD_LIBDIR = $$(OPENSCAD_LIBRARIES)
|
||||
!isEmpty(OPENSCAD_LIBDIR) {
|
||||
exists($$OPENSCAD_LIBDIR/lib/libboost*thread-mt*) {
|
||||
- BOOST_LINK_FLAGS = -lboost_thread-mt -lboost_program_options-mt -lboost_filesystem-mt -lboost_system-mt -lboost_regex-mt
|
||||
+ BOOST_LINK_FLAGS = -lboost_thread-mt -lboost_program_options-mt -lboost_filesystem-mt -lboost_regex-mt
|
||||
} else {
|
||||
exists($$OPENSCAD_LIBDIR/lib/libboost*thread*) {
|
||||
- BOOST_LINK_FLAGS = -lboost_thread -lboost_program_options -lboost_filesystem -lboost_system -lboost_regex
|
||||
+ BOOST_LINK_FLAGS = -lboost_thread -lboost_program_options -lboost_filesystem -lboost_regex
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -47,10 +47,10 @@ isEmpty(BOOST_LINK_FLAGS) {
|
||||
BOOST_DIR = $$(BOOSTDIR)
|
||||
!isEmpty(BOOST_DIR) {
|
||||
exists($$BOOST_DIR/lib/libboost*thread-mt*) {
|
||||
- BOOST_LINK_FLAGS = -lboost_thread-mt -lboost_program_options-mt -lboost_filesystem-mt -lboost_system-mt -lboost_regex-mt
|
||||
+ BOOST_LINK_FLAGS = -lboost_thread-mt -lboost_program_options-mt -lboost_filesystem-mt -lboost_regex-mt
|
||||
} else {
|
||||
exists($$BOOST_DIR/lib/libboost*thread*) {
|
||||
- BOOST_LINK_FLAGS = -lboost_thread -lboost_program_options -lboost_filesystem -lboost_system -lboost_regex
|
||||
+ BOOST_LINK_FLAGS = -lboost_thread -lboost_program_options -lboost_filesystem -lboost_regex
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -64,14 +64,14 @@ isEmpty(BOOST_LINK_FLAGS) {
|
||||
BMT_TEST4 = /usr/local/lib/libboost*thread-mt* # homebrew
|
||||
BMT_TEST5 = /opt/local/lib/libboost*thread-mt* # macports
|
||||
exists($$BMT_TEST1)|exists($$BMT_TEST2)|exists($$BMT_TEST3)|exists($$BMT_TEST4)|exists($$BMT_TEST5) {
|
||||
- BOOST_LINK_FLAGS = -lboost_thread-mt -lboost_program_options-mt -lboost_filesystem-mt -lboost_system-mt -lboost_regex-mt
|
||||
+ BOOST_LINK_FLAGS = -lboost_thread-mt -lboost_program_options-mt -lboost_filesystem-mt -lboost_regex-mt
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
isEmpty(BOOST_LINK_FLAGS) {
|
||||
unix|macx {
|
||||
- BOOST_LINK_FLAGS = -lboost_thread -lboost_program_options -lboost_filesystem -lboost_system -lboost_regex
|
||||
+ BOOST_LINK_FLAGS = -lboost_thread -lboost_program_options -lboost_filesystem -lboost_regex
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,16 +32,17 @@
|
||||
cairo,
|
||||
openscad,
|
||||
runCommand,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "openscad";
|
||||
version = "2021.01";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openscad";
|
||||
repo = "openscad";
|
||||
rev = "${pname}-${version}";
|
||||
rev = "${finalAttrs.pname}-${finalAttrs.version}";
|
||||
sha256 = "sha256-2tOLqpFt5klFPxHNONnHVzBKEFWn4+ufx/MU+eYbliA=";
|
||||
};
|
||||
|
||||
@@ -84,6 +85,9 @@ stdenv.mkDerivation rec {
|
||||
sed -i 's/& / \&/g;s/\*\*/\0 /g;s/^\(.\) /\1\t/' "$out"
|
||||
'';
|
||||
})
|
||||
# unfortunately the archlinux patch does not apply cleanly
|
||||
# source: https://gitlab.archlinux.org/archlinux/packaging/packages/openscad/-/raw/ecc27e16ae6fee51c6806690d76f9ba326af79c1/boost-1.89.patch
|
||||
./boost-1.89.patch
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
# ref. https://github.com/openscad/openscad/pull/4013 merged upstream
|
||||
@@ -116,6 +120,7 @@ stdenv.mkDerivation rec {
|
||||
libsForQt5.qmake
|
||||
libsForQt5.wrapQtAppsHook
|
||||
wrapGAppsHook3
|
||||
versionCheckHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
@@ -149,7 +154,7 @@ stdenv.mkDerivation rec {
|
||||
++ lib.optional spacenavSupport libspnav;
|
||||
|
||||
qmakeFlags = [
|
||||
"VERSION=${version}"
|
||||
"VERSION=${finalAttrs.version}"
|
||||
"LIB3MF_INCLUDEPATH=${lib3mf.dev}/include/lib3mf/Bindings/Cpp"
|
||||
"LIB3MF_LIBPATH=${lib3mf}/lib"
|
||||
]
|
||||
@@ -165,6 +170,8 @@ stdenv.mkDerivation rec {
|
||||
make objects/parser.cxx
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
|
||||
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
mkdir $out/Applications
|
||||
mv $out/bin/*.app $out/Applications
|
||||
@@ -201,9 +208,9 @@ stdenv.mkDerivation rec {
|
||||
|
||||
passthru.tests = {
|
||||
lib3mf_support =
|
||||
runCommand "${pname}-lib3mf-support-test"
|
||||
runCommand "${finalAttrs.pname}-lib3mf-support-test"
|
||||
{
|
||||
nativeBuildInputs = [ openscad ];
|
||||
nativeBuildInputs = [ finalAttrs.finalPackage ];
|
||||
}
|
||||
''
|
||||
echo "cube([1, 1, 1]);" | openscad -o cube.3mf -
|
||||
@@ -211,4 +218,4 @@ stdenv.mkDerivation rec {
|
||||
mv cube-import.3mf $out
|
||||
'';
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user