summaryrefslogtreecommitdiff
path: root/media-gfx
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-02-23 15:45:01 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-02-23 15:45:01 +0000
commit9217a0cce81e89f5648599fcda4e549903c7b9bd (patch)
treef544fe23d38f148dd56caedc70d93ccaf8a34389 /media-gfx
parent8d15cb8238a384acdb70250a0cd213f2ab5f0ab6 (diff)
gentoo auto-resync : 23:02:2023 - 15:45:01
Diffstat (limited to 'media-gfx')
-rw-r--r--media-gfx/Manifest.gzbin37983 -> 37977 bytes
-rw-r--r--media-gfx/freecad/Manifest10
-rw-r--r--media-gfx/freecad/files/freecad-0.20.2-Fixes-8206-FreeCAD-segfaults-being-run-with-paramete.patch22
-rw-r--r--media-gfx/freecad/files/freecad-0.20.2-Netgen-add-headers-to-support-recent-Netgen.patch93
-rw-r--r--media-gfx/freecad/files/freecad-9999-tests-src-Qt-only-build-test-for-BUILD_GUI-ON.patch24
-rw-r--r--media-gfx/freecad/freecad-0.20.2-r1.ebuild (renamed from media-gfx/freecad/freecad-0.20.1.ebuild)77
-rw-r--r--media-gfx/freecad/freecad-9999.ebuild70
-rw-r--r--media-gfx/freecad/metadata.xml7
-rw-r--r--media-gfx/netgen/Manifest8
-rw-r--r--media-gfx/netgen/files/netgen-6.2.2204-use-external-pybind11.patch30
-rw-r--r--media-gfx/netgen/files/netgen-6.2.2301-find-libjpeg-turbo-library.patch (renamed from media-gfx/netgen/files/netgen-6.2.2204-find-libjpeg-turbo-library.patch)10
-rw-r--r--media-gfx/netgen/files/netgen-6.2.2301-fix-nullptr-deref-in-archive.patch31
-rw-r--r--media-gfx/netgen/netgen-6.2.2301.ebuild (renamed from media-gfx/netgen/netgen-6.2.2204.ebuild)14
13 files changed, 290 insertions, 106 deletions
diff --git a/media-gfx/Manifest.gz b/media-gfx/Manifest.gz
index 9ebfa56c8964..f60f7097da78 100644
--- a/media-gfx/Manifest.gz
+++ b/media-gfx/Manifest.gz
Binary files differ
diff --git a/media-gfx/freecad/Manifest b/media-gfx/freecad/Manifest
index 13843ca43b96..5afa9e98728a 100644
--- a/media-gfx/freecad/Manifest
+++ b/media-gfx/freecad/Manifest
@@ -1,8 +1,10 @@
AUX freecad-0.19.1-0001-Gentoo-specific-Remove-ccache-usage.patch 797 BLAKE2B 1bd09caaa265e370b70efe9dd23171a61a98920d659c2f19bb3ec07bf77b1d59712c135f421bbc3164bec6c2b19ac0886185bb6200c45cefaaaea94d5cf54222 SHA512 b449fc466a22300c8a4b0a5b223d68b0ef4437512abcdf875580efc364570b157a55e283faa0ddaad5fd4ce98585bf6dd043b4e7a2a7aa86e98bdb9e8a846a30
AUX freecad-0.19.4-Gentoo-specific-don-t-check-vcs.patch 701 BLAKE2B 963afb463acc00fc20f2ed2aa356c0bb9df8b359fb350e948fa7b23df6cd65db521ebd76d74fda53ca76ce0ba89e7ea3737e1903f850c5a04271eaeba45e5eaf SHA512 457f58461744d42db81db6868498b583ba9a4f599cc0cc1d8e98dae50f2d9d91216cd9787548ae83db57b4a8d056e0267e70055d3fba6405f51de80355eef18f
-DIST freecad-0.20.1.tar.gz 75545072 BLAKE2B be2d2970b80523b34f7400a2762f997b815a5ae90dcb6cee6e560316712ebe3ab8a64053bd73e9f50548ff076920af0304a6780c94c4f3708d30b82bbee3b5d9 SHA512 ab4cfab4008300b8273769b9395602261c88c19f0893dabe6498a2eac020f1fe3fbf7284928144f1d4147d8627a47d83a40a1777a298673da2e24d956006d827
+AUX freecad-0.20.2-Fixes-8206-FreeCAD-segfaults-being-run-with-paramete.patch 746 BLAKE2B 7cba7847956b9f6dbb4161c2bf70a72790cab98a1110c98ac34160c9dd5005b87ff9a2c71e42b7c4523f3fff9cc428ca0ad3b8f61e13b73d1b3bfdd142f5794f SHA512 08d3a8b849eed184b557b8e918c77e294daa40dad81944e19f0ce0c3a8477910ef6cb426e83a986d03050f1a1bfd935b5efbc27146704930d48ff65cd73389db
+AUX freecad-0.20.2-Netgen-add-headers-to-support-recent-Netgen.patch 3622 BLAKE2B fb68ca931c5fa67873d5a60a8b175d6481c572e233974f8b59545f05aef13ced9baf576a51f4aba89020ecb794f39431bca5e8e081536db34f3a15737a11e374 SHA512 ef2ea194176ff10fdf71b7335a84ab97dead7093f9f46b562e8e659ae793d8d7a1e204cdc0be253d3fc4402a88caf95694f1249c38908f150263a00ec37150c7
+AUX freecad-9999-tests-src-Qt-only-build-test-for-BUILD_GUI-ON.patch 606 BLAKE2B acef2151a4ddc90a40ae565fe89032d832a8596b9f9c2608b6b8c3e76125b69b9be12db34d72e3646bd76abeae041bb3f0fd33a0933f22174f48095634568dc2 SHA512 f1d830591dc6532d9517e13da00cfc886e70fc57ec84f7a406f68096a683dd4b86909190858e8aba69c4f668dd963d8de3765e8363ce9661718ac873c729f3f6
DIST freecad-0.20.2.tar.gz 75555561 BLAKE2B 278b05a3fe3bdccb46da62926aee46f066cb073f034b273dc4d8b27975724b754a6822b7eb0b673500db4592237690decb830cc7a30e8da689c6b067c256d4f8 SHA512 c3acd77dd2bb9a2a23ac354da3b6102effb89c95d675e91421d65486414dfe8cc0188a7212245e0deb63f17b9c5df76133017be09e4cd14b833be8cbec52a08d
-EBUILD freecad-0.20.1.ebuild 9813 BLAKE2B 39713988546185e5a44b59f6726c0cb6aff8ae7cb949c0b88483fcd229b35d3a347151db10d80ea08378d2c400a0e6219f135a75e76af87d39306bbee68095b4 SHA512 5f0e9c1b9ddc1a0da8898aa93496856a58d0486c307219c6382190c2f8b309817527c06a89fd894726dbe9133343ea474eb9094bbf3911c8f8856638810d3984
+EBUILD freecad-0.20.2-r1.ebuild 10338 BLAKE2B 6743b981e7f7c152a6045960b9e5e79315497af2e5b1fc3e706afeac3b1208162c2ea4e1b3f02652188685068875492e0bcd28dd5558861723f818c5cb0ce3db SHA512 ee94890a79bd87c944ef2215b890360518627f5d4dcae95ebe2ab7c810f113d10c366515193d6bfe1ced550cd0d3c1d4d0e5bb72938b7de0e25827c61687f388
EBUILD freecad-0.20.2.ebuild 9858 BLAKE2B 254dcc53a8eecf329854e10af1d13bd6995f4d2720268cd0e0e59ca3e5c10385d6edfe18ff1c5a36fe03d4ae0a4bccf4eafa6f778424b9ef281b15e0e368c6e4 SHA512 5e6f6bffadf57ab79b578790e9bf62934f5b598e09cdb8a6f08c07a06ff8a4d8daf297114c88f4abb5400991526abd28bb00cd7be79333b27a8f0f92179b49cb
-EBUILD freecad-9999.ebuild 9822 BLAKE2B 0765e55171d7aea441dae4ca6589779c69a9be7f6ae2ecfc349f031b315af29c5527fa8b45a2c8ea52865b198011dc72d8d61cd88bed743e4ca27333c2561293 SHA512 9f47a5269abe293862d767ba7bb2495134739ec29ecf0664c16381d32edb0961ad28c85d6149f8b822d105ee4346ea3df5a04e8948290d82e0d1c3164eed0ff5
-MISC metadata.xml 3256 BLAKE2B 1dc274ea8c4d8198f53dc6155a2b70cf8952391902a510c11be93bcad4731314f8a4dea0eec465e3b6307c39596a169127d979f17011d0b27280d3860e05a226 SHA512 e201c191df4d8f352660d075bfc729da3b2ac9d87fc8617907c36b142ada3e844257ed19aabc3a017d4bb4a31ff51f1dfa6c430125f3d870106f73d70bc7d53d
+EBUILD freecad-9999.ebuild 10319 BLAKE2B 1bc46e346c02c179adbb29c8354e3ee4e338970be58844fc47eb86292cf1a2ddac94865ac80fd25015eb980d2a6bb70c72235604f4b0f40386e39b8d13c5db15 SHA512 e5163ccb3f71547e030e2e7832fb83f9fe6bf9456217dd6b2bc1477e50de871b359f83358495d1469c5dcd3a75f3dd06497378ffe3710cb175ec3f2ad9ab374e
+MISC metadata.xml 3189 BLAKE2B b236dc1ac3c1a56609cc0d40b6f6ed5cb0c70ce06bd3c5dce45c5f3bcf1d06548a3d62e7e5c786278f84a6874ed330a470a753946c1e6963e7b5fa7d43854eb8 SHA512 ac8018f6c6819c237168228bd767659e1fd1b7aec18c8581a284e498a91dceda78ced26f7a5a1f3b110956fd940f72c677984e1127f76c9fd6330a7d54044fa2
diff --git a/media-gfx/freecad/files/freecad-0.20.2-Fixes-8206-FreeCAD-segfaults-being-run-with-paramete.patch b/media-gfx/freecad/files/freecad-0.20.2-Fixes-8206-FreeCAD-segfaults-being-run-with-paramete.patch
new file mode 100644
index 000000000000..44d49ca3bf94
--- /dev/null
+++ b/media-gfx/freecad/files/freecad-0.20.2-Fixes-8206-FreeCAD-segfaults-being-run-with-paramete.patch
@@ -0,0 +1,22 @@
+https://github.com/FreeCAD/FreeCAD/commit/c7a21ecbeecefe7c2dfc9e950b3d6bb42351d476
+
+From c7a21ecbeecefe7c2dfc9e950b3d6bb42351d476 Mon Sep 17 00:00:00 2001
+From: wmayer <wmayer@users.sourceforge.net>
+Date: Sat, 11 Feb 2023 17:47:49 +0100
+Subject: [PATCH 02/51] Fixes #8206: FreeCAD segfaults being run with
+ parameters (e.g .desktop file has /usr/bin/freecad --single-instance)
+
+--- a/src/Base/Interpreter.cpp
++++ b/src/Base/Interpreter.cpp
+@@ -563,7 +563,7 @@ void initInterpreter(int argc,char *argv[])
+ {
+ PyStatus status;
+ PyConfig config;
+- PyConfig_InitPythonConfig(&config);
++ PyConfig_InitIsolatedConfig(&config);
+
+ status = PyConfig_SetBytesArgv(&config, argc, argv);
+ if (PyStatus_Exception(status)) {
+--
+2.39.1
+
diff --git a/media-gfx/freecad/files/freecad-0.20.2-Netgen-add-headers-to-support-recent-Netgen.patch b/media-gfx/freecad/files/freecad-0.20.2-Netgen-add-headers-to-support-recent-Netgen.patch
new file mode 100644
index 000000000000..402c84ee4d28
--- /dev/null
+++ b/media-gfx/freecad/files/freecad-0.20.2-Netgen-add-headers-to-support-recent-Netgen.patch
@@ -0,0 +1,93 @@
+https://github.com/FreeCAD/FreeCAD/commit/8b056f156fd087b3df36a5223fc5ca6900649a83
+
+From 8b056f156fd087b3df36a5223fc5ca6900649a83 Mon Sep 17 00:00:00 2001
+From: Uwe <donovaly@users.noreply.github.com>
+Date: Wed, 17 Aug 2022 12:32:02 +0200
+Subject: [PATCH 0008/1678] [Netgen] add headers to support recent Netgen
+
+- as reported here: https://forum.freecadweb.org/viewtopic.php?p=618174#p618174
+- also fix compiler warnings about unsafe bool handling
+--- a/src/3rdParty/salomesmesh/src/NETGENPlugin/NETGENPlugin_Mesher.cpp
++++ b/src/3rdParty/salomesmesh/src/NETGENPlugin/NETGENPlugin_Mesher.cpp
+@@ -50,7 +50,9 @@
+
+ #include <utilities.h>
+
++#include <BRepBndLib.hxx>
+ #include <BRepBuilderAPI_Copy.hxx>
++#include <BRepMesh_IncrementalMesh.hxx>
+ #include <BRep_Tool.hxx>
+ #include <Bnd_B3d.hxx>
+ #include <NCollection_Map.hxx>
+@@ -66,6 +68,7 @@
+ #include <TopTools_DataMapOfShapeShape.hxx>
+ #include <TopTools_MapOfShape.hxx>
+ #include <TopoDS.hxx>
++#include <TopoDS_Solid.hxx>
+
+ #ifdef _MSC_VER
+ #pragma warning(disable : 4067)
+@@ -3027,7 +3030,7 @@ bool NETGENPlugin_Mesher::Compute()
+ }
+ }
+ }
+- if (!err && mparams.secondorder > 0)
++ if (!err && mparams.secondorder)
+ {
+ try
+ {
+@@ -3302,7 +3305,7 @@ bool NETGENPlugin_Mesher::Evaluate(MapShapeNbElems& aResMap)
+ // calculate total nb of segments and length of edges
+ double fullLen = 0.0;
+ int fullNbSeg = 0;
+- int entity = mparams.secondorder > 0 ? SMDSEntity_Quad_Edge : SMDSEntity_Edge;
++ int entity = mparams.secondorder ? SMDSEntity_Quad_Edge : SMDSEntity_Edge;
+ TopTools_DataMapOfShapeInteger Edge2NbSeg;
+ for (TopExp_Explorer exp(_shape, TopAbs_EDGE); exp.More(); exp.Next())
+ {
+@@ -3340,7 +3343,7 @@ bool NETGENPlugin_Mesher::Evaluate(MapShapeNbElems& aResMap)
+ {
+ vector<int>& aVec = aResMap[_mesh->GetSubMesh(Edge2NbSegIt.Key())];
+ if ( aVec[ entity ] > 1 && aVec[ SMDSEntity_Node ] == 0 )
+- aVec[SMDSEntity_Node] = mparams.secondorder > 0 ? 2*aVec[ entity ]-1 : aVec[ entity ]-1;
++ aVec[SMDSEntity_Node] = mparams.secondorder ? 2*aVec[ entity ]-1 : aVec[ entity ]-1;
+
+ fullNbSeg += aVec[ entity ];
+ Edge2NbSeg( Edge2NbSegIt.Key() ) = aVec[ entity ];
+@@ -3386,7 +3389,7 @@ bool NETGENPlugin_Mesher::Evaluate(MapShapeNbElems& aResMap)
+ int nbNodes = tooManyElems ? hugeNb : (( nbFaces*3 - (nb1d-1)*2 ) / 6 + 1 );
+
+ vector<int> aVec(SMDSEntity_Last, 0);
+- if( mparams.secondorder > 0 ) {
++ if (mparams.secondorder) {
+ int nb1d_in = (nbFaces*3 - nb1d) / 2;
+ aVec[SMDSEntity_Node] = nbNodes + nb1d_in;
+ aVec[SMDSEntity_Quad_Triangle] = nbFaces;
+@@ -3428,11 +3431,11 @@ bool NETGENPlugin_Mesher::Evaluate(MapShapeNbElems& aResMap)
+ if ( tooManyElems ) // avoid FPE
+ {
+ aVec[SMDSEntity_Node] = hugeNb;
+- aVec[ mparams.secondorder > 0 ? SMDSEntity_Quad_Tetra : SMDSEntity_Tetra] = hugeNb;
++ aVec[ mparams.secondorder ? SMDSEntity_Quad_Tetra : SMDSEntity_Tetra] = hugeNb;
+ }
+ else
+ {
+- if( mparams.secondorder > 0 ) {
++ if (mparams.secondorder) {
+ aVec[SMDSEntity_Node] = nb1d_in/3 + 1 + nb1d_in;
+ aVec[SMDSEntity_Quad_Tetra] = nbVols;
+ }
+--- a/src/3rdParty/salomesmesh/src/NETGENPlugin/NETGENPlugin_NETGEN_2D_ONLY.cpp
++++ b/src/3rdParty/salomesmesh/src/NETGENPlugin/NETGENPlugin_NETGEN_2D_ONLY.cpp
+@@ -39,6 +39,8 @@
+ #include <StdMeshers_MaxElementArea.hxx>
+ #include <StdMeshers_QuadranglePreference.hxx>
+ #include <StdMeshers_ViscousLayers2D.hxx>
++#include <TopExp.hxx>
++#include <TopExp_Explorer.hxx>
+
+ #include <Precision.hxx>
+ #include <Standard_ErrorHandler.hxx>
+--
+2.39.1
+
diff --git a/media-gfx/freecad/files/freecad-9999-tests-src-Qt-only-build-test-for-BUILD_GUI-ON.patch b/media-gfx/freecad/files/freecad-9999-tests-src-Qt-only-build-test-for-BUILD_GUI-ON.patch
new file mode 100644
index 000000000000..5455c0ee2992
--- /dev/null
+++ b/media-gfx/freecad/files/freecad-9999-tests-src-Qt-only-build-test-for-BUILD_GUI-ON.patch
@@ -0,0 +1,24 @@
+From cb77c7d937c259224699273fee1ba5907588fa4c Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Sun, 12 Feb 2023 19:54:13 +0100
+Subject: [PATCH] tests/src/Qt: only build test for BUILD_GUI=ON
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+--- a/tests/src/Qt/CMakeLists.txt
++++ b/tests/src/Qt/CMakeLists.txt
+@@ -30,6 +30,7 @@ endfunction()
+ set(CMAKE_AUTOMOC ON)
+
+ # Qt Test
++if(BUILD_GUI)
+ include_directories(
+ ${QtGui_INCLUDE_DIRS}
+ ${QtTest_INCLUDE_DIRS}
+@@ -46,3 +47,4 @@ set (InventorBuilder_LIBS
+ SETUP_TESTS(
+ InventorBuilder
+ )
++endif()
+--
+2.39.1
+
diff --git a/media-gfx/freecad/freecad-0.20.1.ebuild b/media-gfx/freecad/freecad-0.20.2-r1.ebuild
index 746a966ee4d0..4099ed239e45 100644
--- a/media-gfx/freecad/freecad-0.20.1.ebuild
+++ b/media-gfx/freecad/freecad-0.20.2-r1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit check-reqs cmake optfeature python-single-r1 xdg
@@ -18,7 +18,7 @@ if [[ ${PV} = *9999 ]]; then
S="${WORKDIR}/freecad-${PV}"
else
SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64"
+ KEYWORDS="~amd64"
S="${WORKDIR}/FreeCAD-${PV}"
fi
@@ -26,9 +26,9 @@ fi
# examples are licensed CC-BY-SA (without note of specific version)
LICENSE="LGPL-2 CC-BY-SA-4.0"
SLOT="0"
-IUSE="debug designer headless test"
+IUSE="debug designer +gui test"
-FREECAD_EXPERIMENTAL_MODULES="cloud pcl"
+FREECAD_EXPERIMENTAL_MODULES="cloud netgen pcl"
FREECAD_STABLE_MODULES="addonmgr fem idf image inspection material
openscad part-design path points raytracing robot show surface
techdraw tux"
@@ -46,47 +46,53 @@ RESTRICT="!test? ( test )"
RDEPEND="
${PYTHON_DEPS}
dev-libs/OpenNI2[opengl(+)]
+ dev-libs/boost:=
dev-libs/libspnav[X]
dev-libs/xerces-c[icu]
- dev-qt/designer:5
dev-qt/qtconcurrent:5
dev-qt/qtcore:5
- dev-qt/qtgui:5
dev-qt/qtnetwork:5
- dev-qt/qtopengl:5
- dev-qt/qtprintsupport:5
- dev-qt/qtsvg:5
- dev-qt/qtwebengine:5[widgets]
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
dev-qt/qtxml:5
- >=media-libs/coin-4.0.0
+ dev-qt/qtxmlpatterns:5
media-libs/freetype
media-libs/qhull:=
sci-libs/flann[openmp]
sci-libs/hdf5:=[fortran,zlib]
- >=sci-libs/med-4.0.0-r1[python,${PYTHON_SINGLE_USEDEP}]
+ >=sci-libs/med-4.0.0-r1
<sci-libs/opencascade-7.7.0:=[json,vtk]
sci-libs/orocos_kdl:=
sys-libs/zlib
- virtual/glu
virtual/libusb:1
- virtual/opengl
cloud? (
dev-libs/openssl:=
net-misc/curl
)
- fem? ( sci-libs/vtk:=[boost(+),python,qt5,rendering,${PYTHON_SINGLE_USEDEP}] )
+ fem? ( sci-libs/vtk:=[qt5,rendering] )
+ gui? (
+ dev-qt/designer:5
+ dev-qt/qtgui:5
+ dev-qt/qtopengl:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwebengine:5[widgets]
+ dev-qt/qtwidgets:5
+ dev-qt/qtx11extras:5
+ >=media-libs/coin-4.0.0
+ virtual/glu
+ virtual/opengl
+ $(python_gen_cond_dep '
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ >=dev-python/pivy-0.6.5[${PYTHON_USEDEP}]
+ dev-python/pyside2[gui,svg,webchannel,webengine,${PYTHON_USEDEP}]
+ dev-python/shiboken2[${PYTHON_USEDEP}]
+ ')
+ )
+ netgen? ( media-gfx/netgen[opencascade] )
openscad? ( media-gfx/openscad )
- pcl? ( >=sci-libs/pcl-1.8.1:=[opengl,openni2,qt5,vtk] )
+ pcl? ( sci-libs/pcl:=[opengl,openni2,qt5,vtk] )
$(python_gen_cond_dep '
- dev-libs/boost:=[python,${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
dev-python/numpy[${PYTHON_USEDEP}]
- >=dev-python/pivy-0.6.5[${PYTHON_USEDEP}]
dev-python/pybind11[${PYTHON_USEDEP}]
- dev-python/pyside2[gui,svg,webchannel,webengine,${PYTHON_USEDEP}]
- dev-python/shiboken2[${PYTHON_USEDEP}]
addonmgr? ( dev-python/GitPython[${PYTHON_USEDEP}] )
fem? ( dev-python/ply[${PYTHON_USEDEP}] )
')
@@ -94,10 +100,18 @@ RDEPEND="
DEPEND="
${RDEPEND}
>=dev-cpp/eigen-3.3.1:3
+ test? (
+ $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
+ dev-qt/qttest:5
+ )
"
BDEPEND="
app-text/dos2unix
dev-lang/swig
+ test? (
+ $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
+ dev-qt/qttest:5
+ )
"
# To get required dependencies:
@@ -115,6 +129,7 @@ BDEPEND="
# test suite when compiled with a minimal set of USE flags.
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
+ designer? ( gui )
inspection? ( points )
path? ( robot )
"
@@ -122,6 +137,8 @@ REQUIRED_USE="
PATCHES=(
"${FILESDIR}"/${PN}-0.19.4-Gentoo-specific-don-t-check-vcs.patch
"${FILESDIR}"/${PN}-0.19.1-0001-Gentoo-specific-Remove-ccache-usage.patch
+ "${FILESDIR}"/${PN}-0.20.2-Netgen-add-headers-to-support-recent-Netgen.patch
+ "${FILESDIR}"/${PN}-0.20.2-Fixes-8206-FreeCAD-segfaults-being-run-with-paramete.patch
)
DOCS=( CODE_OF_CONDUCT.md ChangeLog.txt README.md )
@@ -155,11 +172,11 @@ src_configure() {
-DBUILD_DRAWING=ON
-DBUILD_ENABLE_CXX_STD:STRING="C++17" # needed for >=boost-1.77.0
-DBUILD_FEM=$(usex fem)
- -DBUILD_FEM_NETGEN=OFF
+ -DBUILD_FEM_NETGEN=$(usex netgen)
-DBUILD_FLAT_MESH=ON
-DBUILD_FORCE_DIRECTORY=ON # force building in a dedicated directory
-DBUILD_FREETYPE=ON # automagic dep
- -DBUILD_GUI=$(usex !headless)
+ -DBUILD_GUI=$(usex gui)
-DBUILD_IDF=$(usex idf)
-DBUILD_IMAGE=$(usex image)
-DBUILD_IMPORT=ON # import module for various file formats
@@ -197,6 +214,8 @@ src_configure() {
-DFREECAD_BUILD_DEBIAN=OFF
+ -DFREECAD_QT_VERSION="5"
+
-DFREECAD_USE_EXTERNAL_KDL=ON
-DFREECAD_USE_EXTERNAL_SMESH=OFF # no package in Gentoo
-DFREECAD_USE_EXTERNAL_ZIPIOS=OFF # doesn't work yet, also no package in Gentoo tree
@@ -235,7 +254,7 @@ src_configure() {
# We use the FreeCADCmd binary instead of the FreeCAD binary here
# for two reasons:
-# 1. It works out of the box with USE=headless as well, not needing a guard
+# 1. It works out of the box with USE=-gui as well, not needing a guard
# 2. We don't need virtualx.eclass and it's dependencies
# The exported environment variables are needed, so freecad does know
# where to save it's temporary files, and where to look and write it's
@@ -255,12 +274,14 @@ src_install() {
dobin src/Tools/freecad-thumbnailer
- if ! use headless; then
+ if use gui; then
dosym -r /usr/$(get_libdir)/${PN}/bin/FreeCAD /usr/bin/freecad
mv "${ED}"/usr/$(get_libdir)/${PN}/share/* "${ED}"/usr/share || die "failed to move shared resources"
fi
dosym -r /usr/$(get_libdir)/${PN}/bin/FreeCADCmd /usr/bin/freecadcmd
+ rm -r "${ED}"/usr/$(get_libdir)/${PN}/include/E57Format || die "failed to drop unneeded include directory E57Format"
+
python_optimize "${ED}"/usr/share/${PN}/data/Mod/Start/StartPage "${ED}"/usr/$(get_libdir)/${PN}{/Ext,/Mod}/
# compile main package in python site-packages as well
python_optimize
@@ -273,7 +294,7 @@ pkg_postinst() {
einfo "AddonManager."
# ToDo: check opencv, pysolar (::science), elmerfem (::science)
- # ifc++, ifcopenshell, netgen, z88 (no pkgs), calculix-ccx (::waebbl)
+ # ifc++, ifcopenshell, z88 (no pkgs), calculix-ccx (::waebbl)
einfo "There are a lot of additional tools, for which FreeCAD has builtin"
einfo "support. Some of them are available in Gentoo. Take a look at"
einfo "https://wiki.freecadweb.org/Installing#External_software_supported_by_FreeCAD"
diff --git a/media-gfx/freecad/freecad-9999.ebuild b/media-gfx/freecad/freecad-9999.ebuild
index ba5840c6b720..a006497fe1bd 100644
--- a/media-gfx/freecad/freecad-9999.ebuild
+++ b/media-gfx/freecad/freecad-9999.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit check-reqs cmake optfeature python-single-r1 xdg
@@ -28,7 +28,7 @@ LICENSE="LGPL-2 CC-BY-SA-4.0"
SLOT="0"
IUSE="debug designer +gui test"
-FREECAD_EXPERIMENTAL_MODULES="cloud pcl"
+FREECAD_EXPERIMENTAL_MODULES="cloud netgen pcl"
FREECAD_STABLE_MODULES="addonmgr fem idf image inspection material
openscad part-design path points raytracing robot show surface
techdraw tux"
@@ -46,47 +46,54 @@ RESTRICT="!test? ( test )"
RDEPEND="
${PYTHON_DEPS}
dev-libs/OpenNI2[opengl(+)]
+ dev-libs/boost:=
+ dev-libs/libfmt:=
dev-libs/libspnav[X]
dev-libs/xerces-c[icu]
- dev-qt/designer:5
dev-qt/qtconcurrent:5
dev-qt/qtcore:5
- dev-qt/qtgui:5
dev-qt/qtnetwork:5
- dev-qt/qtopengl:5
- dev-qt/qtprintsupport:5
- dev-qt/qtsvg:5
- dev-qt/qtwebengine:5[widgets]
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
dev-qt/qtxml:5
- >=media-libs/coin-4.0.0
+ dev-qt/qtxmlpatterns:5
media-libs/freetype
media-libs/qhull:=
sci-libs/flann[openmp]
sci-libs/hdf5:=[fortran,zlib]
- >=sci-libs/med-4.0.0-r1[python,${PYTHON_SINGLE_USEDEP}]
- sci-libs/opencascade:=[json,vtk(+)]
+ >=sci-libs/med-4.0.0-r1
+ sci-libs/opencascade:=[json,vtk]
sci-libs/orocos_kdl:=
sys-libs/zlib
- virtual/glu
virtual/libusb:1
- virtual/opengl
cloud? (
dev-libs/openssl:=
net-misc/curl
)
- fem? ( sci-libs/vtk:=[boost(+),python,qt5,rendering,${PYTHON_SINGLE_USEDEP}] )
+ fem? ( sci-libs/vtk:=[qt5,rendering] )
+ gui? (
+ dev-qt/designer:5
+ dev-qt/qtgui:5
+ dev-qt/qtopengl:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwebengine:5[widgets]
+ dev-qt/qtwidgets:5
+ dev-qt/qtx11extras:5
+ >=media-libs/coin-4.0.0
+ virtual/glu
+ virtual/opengl
+ $(python_gen_cond_dep '
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ >=dev-python/pivy-0.6.5[${PYTHON_USEDEP}]
+ dev-python/pyside2[gui,svg,webchannel,webengine,${PYTHON_USEDEP}]
+ dev-python/shiboken2[${PYTHON_USEDEP}]
+ ')
+ )
+ netgen? ( media-gfx/netgen[opencascade] )
openscad? ( media-gfx/openscad )
- pcl? ( sci-libs/pcl:=[opengl,openni2(+),qt5(+),vtk(+)] )
+ pcl? ( sci-libs/pcl:=[opengl,openni2,qt5,vtk] )
$(python_gen_cond_dep '
- dev-libs/boost:=[python,${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
dev-python/numpy[${PYTHON_USEDEP}]
- >=dev-python/pivy-0.6.5[${PYTHON_USEDEP}]
dev-python/pybind11[${PYTHON_USEDEP}]
- dev-python/pyside2[gui,svg,webchannel,webengine,${PYTHON_USEDEP}]
- dev-python/shiboken2[${PYTHON_USEDEP}]
addonmgr? ( dev-python/GitPython[${PYTHON_USEDEP}] )
fem? ( dev-python/ply[${PYTHON_USEDEP}] )
')
@@ -94,10 +101,18 @@ RDEPEND="
DEPEND="
${RDEPEND}
>=dev-cpp/eigen-3.3.1:3
+ test? (
+ $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
+ dev-qt/qttest:5
+ )
"
BDEPEND="
app-text/dos2unix
dev-lang/swig
+ test? (
+ $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
+ dev-qt/qttest:5
+ )
"
# To get required dependencies:
@@ -115,6 +130,7 @@ BDEPEND="
# test suite when compiled with a minimal set of USE flags.
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
+ designer? ( gui )
inspection? ( points )
path? ( robot )
"
@@ -122,9 +138,10 @@ REQUIRED_USE="
PATCHES=(
"${FILESDIR}"/${PN}-0.19.4-Gentoo-specific-don-t-check-vcs.patch
"${FILESDIR}"/${PN}-0.19.1-0001-Gentoo-specific-Remove-ccache-usage.patch
+ "${FILESDIR}"/${PN}-9999-tests-src-Qt-only-build-test-for-BUILD_GUI-ON.patch
)
-DOCS=( CODE_OF_CONDUCT.md ChangeLog.txt README.md )
+DOCS=( CODE_OF_CONDUCT.md README.md )
CHECKREQS_DISK_BUILD="2G"
@@ -155,7 +172,7 @@ src_configure() {
-DBUILD_DRAWING=ON
-DBUILD_ENABLE_CXX_STD:STRING="C++17" # needed for current git master
-DBUILD_FEM=$(usex fem)
- -DBUILD_FEM_NETGEN=OFF
+ -DBUILD_FEM_NETGEN=$(usex netgen)
-DBUILD_FLAT_MESH=ON
-DBUILD_FORCE_DIRECTORY=ON # force building in a dedicated directory
-DBUILD_FREETYPE=ON # automagic dep
@@ -263,6 +280,9 @@ src_install() {
fi
dosym -r /usr/$(get_libdir)/${PN}/bin/FreeCADCmd /usr/bin/freecadcmd
+ rm -r "${ED}"/usr/$(get_libdir)/${PN}/include/E57Format || die "failed to drop unneeded include directory E57Format"
+ use test && rm -r "${ED}"/usr/include/${PN}/{gmock,gtest} || die
+
python_optimize "${ED}"/usr/share/${PN}/data/Mod/Start/StartPage "${ED}"/usr/$(get_libdir)/${PN}{/Ext,/Mod}/
# compile main package in python site-packages as well
python_optimize
@@ -275,7 +295,7 @@ pkg_postinst() {
einfo "AddonManager."
# ToDo: check opencv, pysolar (::science), elmerfem (::science)
- # ifc++, ifcopenshell, netgen, z88 (no pkgs), calculix-ccx (::waebbl)
+ # ifc++, ifcopenshell, z88 (no pkgs), calculix-ccx (::waebbl)
einfo "There are a lot of additional tools, for which FreeCAD has builtin"
einfo "support. Some of them are available in Gentoo. Take a look at"
einfo "https://wiki.freecadweb.org/Installing#External_software_supported_by_FreeCAD"
diff --git a/media-gfx/freecad/metadata.xml b/media-gfx/freecad/metadata.xml
index 6e0770f45ea8..17e33f46262b 100644
--- a/media-gfx/freecad/metadata.xml
+++ b/media-gfx/freecad/metadata.xml
@@ -33,10 +33,6 @@
The Python modules are available, without their GUI parts though,
if this is unset.
</flag>
- <flag name="headless">
- Build FreeCAD without a GUI, usable for server-side instances.
- The Python modules are still available, without their GUI parts though.
- </flag>
<flag name="idf">
Build the IDF module to provide file exchange capabilities with
IDF files
@@ -52,6 +48,9 @@
<flag name="material">
Build the material module and workbench to work with materials
</flag>
+ <flag name="netgen">
+ Build support for the netgen mesher through <pkg>media-gfx/netgen</pkg>.
+ </flag>
<flag name="openscad">
Build the OpenSCAD module for interoperability with OpenSCAD
and repairing Constructive Solid Geometry (CSG) history
diff --git a/media-gfx/netgen/Manifest b/media-gfx/netgen/Manifest
index 1a0bb67781ba..0d58ce09a18d 100644
--- a/media-gfx/netgen/Manifest
+++ b/media-gfx/netgen/Manifest
@@ -1,11 +1,11 @@
AUX netgen-6.2.2204-disable-failing-tests.patch 612 BLAKE2B e5fad5fcc21942ece9fbc69a0a66fbcdb46dc9233000fe27c6321e4f30210c0f7951adb820a9f05f7131dab7cdd908cb315b101ac7078b036fbdce3c5c46f736 SHA512 81504313f1b7d4b317e54aa03f4c8b5a63505db8fb25e135c51b5c811fe31eeade4455efbb69053df841eba32bc0104d2f6c66791f9b59b5a9ba6c97d861942a
AUX netgen-6.2.2204-disable-python-tests.patch 521 BLAKE2B ed98bd8c54d3a7e77fdbe3e74ad381bf6d807d47b887e4f7aa9813b65b1d6440a6429faf365a1a463f294788545c7b6aaae86aafd7c69ac4e050d31d464bcdce SHA512 af99b5b1a1d6d0b999fc524ce7d72285b30c040d25846c177c019a7bdf0d7823c3ca2457f9bc2a90a1ae6f8594e9c7513d324451cf4054f57fcb3a299607c1f7
AUX netgen-6.2.2204-find-Tk-include-directories.patch 797 BLAKE2B b1d049ef7e05936f762bfe0b409f8c8dde4730718007fd62e4ab0ca7178336d439aa52eadabce6bd6a9ccf56c61dcbc23e416cf3e18dec68e2fe9b36b23f0d3c SHA512 cc144615fb3ef4df21aa0f39c370d716a1afdf2a35d570ab92a80a14aeebffd79b7ff24d61378a363faad2024f90a1a672441fdc2578efd45cfaefe166552b5e
-AUX netgen-6.2.2204-find-libjpeg-turbo-library.patch 1270 BLAKE2B b48245414ba9864f896a37913cb3b7268a0958c47d3d793f48a44ccfe3e60383b62419b74426f851fa2582009b297061f56775c20addebf9b3041bfda386f3b0 SHA512 ae28d6509039d027c1848530fc4bc3303a5069d7c2c2453d299f6ab839fbcd2f80ea032585a7d459364c6469e5a9fffb7b0a0e896f38d53b76059e091a82eba4
AUX netgen-6.2.2204-link-against-ffmpeg.patch 710 BLAKE2B 28b01b18480af48c4967a25b8de303dbc21b52a63d3a441d5d8d8463c4498198868c8b96049b68ad5e1302c30d15c6d3a028a0cbd593d608d3d865a4b51abcc0 SHA512 df42aaf831ade1cb4bd36b59bcdee69f7f1b1f7c25f3e668e90fc391fccff6861cbcb58807189d5051bbfae0035c0f42a93c144caf44c89a636fa43c802d02ab
-AUX netgen-6.2.2204-use-external-pybind11.patch 1209 BLAKE2B f1fbb7ecc9f07d5d0ccb6cef5ff8a5e6cd0866e12c47ad005f34b088d78d43f400a2b40543e6d34273b88f327dd11d46825c28a40655e608fb3692bee90319e1 SHA512 ca755f4074424feba97b5882e86b2645c7edb24bcb163594eb2dbb98fbcd38f86713e66d0f3b249adc50e896f4ae8c55ebe1a01937b79e94910cdfe7e2156232
AUX netgen-6.2.2204-use-system-catch.patch 1521 BLAKE2B 34ee6fedced5381a1e2152fdd215774ac4dfd5d349ca4f342030cc98cd8370de4db260e7c4a6091785056766f652d4cd621964c0b68134bea56b6cd56903dcb8 SHA512 973fa6e6ce38567343548db09d1f7d56b2ef78b3c77aa11c94eda72f03e2c97ab495d9975df15bbdd3545fc3346059ef6d91a1cf1632744459c08bc4a8ac7d40
AUX netgen-6.2.2204-use-system-spdlog.patch 1390 BLAKE2B 541725d179a0b3f9f9430f1268478adfdf378940b4503e962dd59071e8ac0dba60c5445d036d73103f6ec25017a1335f6eb7bfc38debb0ccff810229d5466890 SHA512 1519ce3628f2c5f17afea34bd4ebf102f2688c9440504f6828c611b749b0ae5b7d80b2b688c13769f6bd911faeb3d9d4f83e1ba663d8d5bdb2ef5bc2076f873c
-DIST netgen-6.2.2204.tar.gz 3394806 BLAKE2B 2b99854cab0890662f1ab7ffee6fb444b60a28ba0bfe9970a89c80c0e4c930c40b8034f9c600ddd61c9b60f542d1cae758a8c220a1ba76949bf9f97fb2fe9020 SHA512 964c40753613c111b0372b0e403b19734cc0c559d1e7e45bbe6b452f4daba10c6bde8abaa5c9541c92b4bccff02d32ea6ba8e8e06ba64f11fec1733f2e374cbf
-EBUILD netgen-6.2.2204.ebuild 3974 BLAKE2B d57636eef686e9bcc95d48b54d4a37d1879bfa96d005e24fff43777f71a422c207f14e660dd1bfcba73cf89d62eb541a164cd7021d0e6cc84c16bb7023043196 SHA512 18aac8d8f61e9c6e2d53273cad48254707bda9d7af4aa64bdb301350a077669997de18257e39f8ffbb9887b8755b1b4b3abf52c8c5e2aae7def7c21065866f39
+AUX netgen-6.2.2301-find-libjpeg-turbo-library.patch 1280 BLAKE2B 47cbb27914badd316078acbf57d0ec13da80ade19c6f20602dec1bb42d9b6929cd017ee9120c651dfffcfb2e9c925798a327bd07561823f50702536487343a06 SHA512 c0c774d47bc405357c09454c528391062cec9d2f4a39757409894407bca28a8bf2332bfa60bdba3f99948d5d8871833cc56123ba212e97862f6cc7d09dedb3a8
+AUX netgen-6.2.2301-fix-nullptr-deref-in-archive.patch 1012 BLAKE2B 2de4195438ce6dec88d1bc0d05f841bb959690b271cb1a40464ae81cc056e4520246c49533a2dc90ee88a29f450b9bf89a285342f9e8a08f0b9a44cee1933ec2 SHA512 3f28bce676c3db1d0dd05ff21716745dfc01b8d9f5cc6c278baed76f10514d283e78012f04fca956f71337f4a34287f949b06881a12cb84ae812a61bd1ff79ea
+DIST netgen-6.2.2301.tar.gz 3394480 BLAKE2B 358b0cf7ff4d372a9ede8ab9b7df24435a75bcad880cc83607443707ae096f2bafa35d8cd581533917d1aae85a18ac0ca902876a1c68f11664a0a3ef1ae00593 SHA512 7aebbc5cc3e3227b455ac9c5538e1f0110d5621e6ca7315f6811733bd93e88ccca467296b7915894a45202ed375b45d9387a1d113a720d4199eff782afb43070
+EBUILD netgen-6.2.2301.ebuild 4089 BLAKE2B 3eaa6a00dfc3a6f4ff173fd2455e34e0c58901e4f9afe41f3a95d57080d9fd2271419eea6814cb6f6ca1c36a59760bdaa0bf94689b93e39feddc306df796b72e SHA512 c3f52aafaf1bc63f103d88e39a7a36bd26b6f856ea6b864856cd42429818810401b98762caa57718c922f1c35eeaeda2af51c263bbd32fec330051635475685c
MISC metadata.xml 647 BLAKE2B bbd454b748f78fe5a95e956b00a4ada9d46ba38c98f6d763c63d2c09541fe8243f6d7d033ff7b96dd2a00ae14e2d9dbac5150015d950ba74c5c1b69a68678f2a SHA512 334ef398fa5da9f565c1a8b53c67b223fb710ce4b47b2bae5561695ff46c159c56ccaf43afc0ac7810e651e73953f609f04909ae3a1300cd411b8125341222a2
diff --git a/media-gfx/netgen/files/netgen-6.2.2204-use-external-pybind11.patch b/media-gfx/netgen/files/netgen-6.2.2204-use-external-pybind11.patch
deleted file mode 100644
index ef11c8b0821a..000000000000
--- a/media-gfx/netgen/files/netgen-6.2.2204-use-external-pybind11.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From c3c55fe646ad6934e429edd080aceae54260551c Mon Sep 17 00:00:00 2001
-From: Bernd Waibel <waebbl-gentoo@posteo.net>
-Date: Sun, 30 Oct 2022 14:50:48 +0100
-Subject: [PATCH] use external pybind11
-
-Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -302,7 +302,7 @@ else()
- endif()
-
- if (USE_PYTHON)
-- add_subdirectory(external_dependencies/pybind11)
-+ find_package(pybind11)
- find_path(PYBIND_INCLUDE_DIR pybind11/pybind11.h HINTS ${PYTHON_INCLUDE_DIR})
- if( PYBIND_INCLUDE_DIR )
- message(STATUS "Found Pybind11: ${PYBIND_INCLUDE_DIR}")
---- a/cmake/SuperBuild.cmake
-+++ b/cmake/SuperBuild.cmake
-@@ -154,7 +154,6 @@ endif()
- #######################################################################
- if (USE_PYTHON)
- find_path(PYBIND_INCLUDE_DIR pybind11/pybind11.h PATHS ${CMAKE_CURRENT_SOURCE_DIR}/external_dependencies/pybind11/include NO_DEFAULT_PATH)
-- set(NG_INSTALL_PYBIND ON)
- if( NOT PYBIND_INCLUDE_DIR )
- # if the pybind submodule is missing, try to initialize and update all submodules
- execute_process(COMMAND git submodule update --init --recursive WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
---
-2.38.1
-
diff --git a/media-gfx/netgen/files/netgen-6.2.2204-find-libjpeg-turbo-library.patch b/media-gfx/netgen/files/netgen-6.2.2301-find-libjpeg-turbo-library.patch
index c45f5a4e4bdb..3b01321f7ced 100644
--- a/media-gfx/netgen/files/netgen-6.2.2204-find-libjpeg-turbo-library.patch
+++ b/media-gfx/netgen/files/netgen-6.2.2301-find-libjpeg-turbo-library.patch
@@ -1,6 +1,6 @@
-From 39160b692fd051f2638f1a6e1df38eb616b6d6cb Mon Sep 17 00:00:00 2001
+From d8a654a61452c39e3e611493ad70b8c6e818130e Mon Sep 17 00:00:00 2001
From: Bernd Waibel <waebbl-gentoo@posteo.net>
-Date: Sun, 30 Oct 2022 16:09:43 +0100
+Date: Wed, 15 Feb 2023 12:28:00 +0100
Subject: [PATCH] find libjpeg-turbo library
Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
@@ -10,8 +10,8 @@ Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
vssolution.cpp
visualpkg.cpp
)
--target_link_libraries( nggui PUBLIC "$<BUILD_INTERFACE:netgen_python>" ${MPI_CXX_LIBRARIES} ${OPENGL_LIBRARIES} )
-+target_link_libraries( nggui PUBLIC "$<BUILD_INTERFACE:netgen_python>" ${MPI_CXX_LIBRARIES} ${OPENGL_LIBRARIES} ${JPEG_LIBRARIES} )
+-target_link_libraries( nggui PUBLIC "$<BUILD_INTERFACE:netgen_python>" ${MPI_CXX_LIBRARIES} ${OPENGL_LIBRARIES} nglib)
++target_link_libraries( nggui PUBLIC "$<BUILD_INTERFACE:netgen_python>" ${MPI_CXX_LIBRARIES} ${OPENGL_LIBRARIES} ${JPEG_LIBRARIES} nglib)
install(FILES
meshdoc.hpp mvdraw.hpp visual_api.hpp
@@ -30,5 +30,5 @@ Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
install(TARGETS nglib netgen_cgns ${NG_INSTALL_DIR})
--
-2.38.1
+2.39.1
diff --git a/media-gfx/netgen/files/netgen-6.2.2301-fix-nullptr-deref-in-archive.patch b/media-gfx/netgen/files/netgen-6.2.2301-fix-nullptr-deref-in-archive.patch
new file mode 100644
index 000000000000..b05d71221ca5
--- /dev/null
+++ b/media-gfx/netgen/files/netgen-6.2.2301-fix-nullptr-deref-in-archive.patch
@@ -0,0 +1,31 @@
+https://github.com/NGSolve/netgen/pull/123/commits/5ee4e43393936ab4c00feb58c48bc3a10e6bcbdb
+
+From 76276c5a3b0e70b27d44f7ce0a3ea064b23909da Mon Sep 17 00:00:00 2001
+From: Christopher Montgomery <monty@xiph.org>
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Sun, 19 Feb 2023 12:18:12 +0100
+Subject: [PATCH] fix nullptr deref in archive
+
+Hardened toolchains (eg, mainline Fedora) no longer tolerate null
+derefs that were silently trapped/ignored in earlier versions. This
+eliminates a nullptr deref in archive.hpp that was failing several
+unit tests (and causing crashes) when trying to manipulate
+default-constructed archive objects.
+
+Adapted original patch according the comment in the PR.
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+--- a/libsrc/core/archive.hpp
++++ b/libsrc/core/archive.hpp
+@@ -225,7 +225,7 @@ namespace ngcore
+ (*this) & size;
+ if(Input())
+ v.resize(size);
+- Do(&v[0], size);
++ Do(v.data(), size);
+ return (*this);
+ }
+
+--
+2.39.2
+
diff --git a/media-gfx/netgen/netgen-6.2.2204.ebuild b/media-gfx/netgen/netgen-6.2.2301.ebuild
index f4a8413a9832..bd9fbd4c967b 100644
--- a/media-gfx/netgen/netgen-6.2.2204.ebuild
+++ b/media-gfx/netgen/netgen-6.2.2301.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_10 )
+PYTHON_COMPAT=( python3_{10,11} )
inherit cmake desktop python-single-r1 xdg
DESCRIPTION="Automatic 3d tetrahedral mesh generator"
@@ -66,14 +66,14 @@ BDEPEND="
"
PATCHES=(
- "${FILESDIR}/${PN}-6.2.2204-use-external-pybind11.patch"
"${FILESDIR}/${PN}-6.2.2204-find-Tk-include-directories.patch"
- "${FILESDIR}/${PN}-6.2.2204-find-libjpeg-turbo-library.patch"
"${FILESDIR}/${PN}-6.2.2204-link-against-ffmpeg.patch"
"${FILESDIR}/${PN}-6.2.2204-use-system-spdlog.patch"
"${FILESDIR}/${PN}-6.2.2204-use-system-catch.patch"
"${FILESDIR}/${PN}-6.2.2204-disable-failing-tests.patch"
"${FILESDIR}/${PN}-6.2.2204-disable-python-tests.patch"
+ "${FILESDIR}/${PN}-6.2.2301-find-libjpeg-turbo-library.patch"
+ "${FILESDIR}/${PN}-6.2.2301-fix-nullptr-deref-in-archive.patch"
)
pkg_setup() {
@@ -82,8 +82,9 @@ pkg_setup() {
src_prepare() {
# NOTE: need to manually check and update this string on version bumps!
+ # git describe --tags --match "v[0-9]*" --long --dirty
cat <<- EOF > "${S}/version.txt" || die
- v${PV}-0-gde0d706e
+ v${PV}-0-g26d12898
EOF
cmake_src_prepare
}
@@ -119,8 +120,9 @@ src_configure() {
fi
if use python; then
mycmakeargs+=(
- -DPYBIND_INCLUDE_DIR="/usr/lib/${EPYTHON}/site-packages/pybind11/include/"
- -DNG_INSTALL_PYBIND=OFF
+ -DPREFER_SYSTEM_PYBIND11=ON
+ # needed, so the value gets passed to NetgenConfig.cmake instead of ${T}/pythonX.Y
+ -DPYTHON_EXECUTABLE="${PYTHON}"
)
fi
if use mpi && use python; then