forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Closes: https://bugs.gentoo.org/905804 Signed-off-by: Bernd Waibel <[email protected]> Closes: gentoo#30911 Signed-off-by: Andrew Ammerlaan <[email protected]>
- Loading branch information
1 parent
4392bef
commit 143fa4f
Showing
2 changed files
with
158 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
DIST netgen-6.2.2301.tar.gz 3394480 BLAKE2B 358b0cf7ff4d372a9ede8ab9b7df24435a75bcad880cc83607443707ae096f2bafa35d8cd581533917d1aae85a18ac0ca902876a1c68f11664a0a3ef1ae00593 SHA512 7aebbc5cc3e3227b455ac9c5538e1f0110d5621e6ca7315f6811733bd93e88ccca467296b7915894a45202ed375b45d9387a1d113a720d4199eff782afb43070 | ||
DIST netgen-6.2.2302.tar.gz 3398683 BLAKE2B 7cf4626ee8163898864af0346cf2c4fa73dcca3ac2068d67f80b05ee926024b36552b33013c2ef8f74026ab942ae08c0628af0ce0c0dac2d004ba26e18bf4619 SHA512 da6e8e43d73af6b7bfae2e3c771d46e34601ff481c251924673f7330bae032a743fb9d5ff2792855e91ed5addb4d22fd4bf9cd7a9dcfb53f476e22a30f1eedb3 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,157 @@ | ||
# Copyright 1999-2023 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=8 | ||
|
||
PYTHON_COMPAT=( python3_{10,11} ) | ||
inherit cmake desktop python-single-r1 xdg | ||
|
||
DESCRIPTION="Automatic 3d tetrahedral mesh generator" | ||
HOMEPAGE="https://ngsolve.org/ https://github.com/NGSolve/netgen" | ||
SRC_URI="https://github.com/NGSolve/netgen/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" | ||
|
||
SLOT="0" | ||
LICENSE="LGPL-2.1" | ||
KEYWORDS="~amd64 ~x86" | ||
|
||
IUSE="ffmpeg gui jpeg logging mpi opencascade python test" | ||
RESTRICT="!test? ( test )" | ||
|
||
REQUIRED_USE=" | ||
${PYTHON_REQUIRED_USE} | ||
ffmpeg? ( gui ) | ||
jpeg? ( gui ) | ||
python? ( gui ) | ||
" | ||
|
||
DEPEND=" | ||
sys-libs/zlib | ||
ffmpeg? ( media-video/ffmpeg:= ) | ||
gui? ( | ||
dev-lang/tcl:0/8.6 | ||
dev-lang/tk:0/8.6 | ||
media-libs/glu | ||
virtual/opengl | ||
x11-libs/libX11 | ||
x11-libs/libXmu | ||
x11-libs/libxcb:= | ||
) | ||
jpeg? ( media-libs/libjpeg-turbo:0= ) | ||
logging? ( dev-libs/spdlog:= ) | ||
mpi? ( | ||
sci-libs/metis | ||
virtual/mpi | ||
) | ||
opencascade? ( sci-libs/opencascade:= ) | ||
python? ( | ||
${PYTHON_DEPS} | ||
$(python_gen_cond_dep ' | ||
dev-python/pybind11[${PYTHON_USEDEP}] | ||
' | ||
) | ||
mpi? ( | ||
$(python_gen_cond_dep 'dev-python/mpi4py[${PYTHON_USEDEP}]' ) | ||
) | ||
) | ||
" | ||
RDEPEND="${DEPEND}" | ||
BDEPEND=" | ||
sys-apps/lsb-release | ||
virtual/pkgconfig | ||
gui? ( virtual/imagemagick-tools[png] ) | ||
test? ( | ||
<dev-cpp/catch-3:0 | ||
python? ( $(python_gen_cond_dep 'dev-python/pytest[${PYTHON_USEDEP}]') ) | ||
) | ||
" | ||
|
||
PATCHES=( | ||
"${FILESDIR}/${PN}-6.2.2204-find-Tk-include-directories.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() { | ||
use python && python-single-r1_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-g3e52c44a | ||
EOF | ||
cmake_src_prepare | ||
} | ||
|
||
src_configure() { | ||
local mycmakeargs=( | ||
# currently not working in a sandbox, expects netgen to be installed | ||
# see https://github.com/NGSolve/netgen/issues/132 | ||
-DBUILD_STUB_FILES=OFF | ||
-DENABLE_UNIT_TESTS=$(usex test) | ||
-DINSTALL_PROFILES=OFF | ||
-DNG_INSTALL_DIR_CMAKE="$(get_libdir)/cmake/${PN}" | ||
-DNG_INSTALL_DIR_INCLUDE="include/${PN}" | ||
-DNG_INSTALL_DIR_LIB="$(get_libdir)" | ||
-DUSE_CCACHE=OFF | ||
# doesn't build with this version | ||
-DUSE_CGNS=OFF | ||
-DUSE_GUI=$(usex gui) | ||
-DUSE_INTERNAL_TCL=OFF | ||
-DUSE_JPEG=$(usex jpeg) | ||
-DUSE_MPEG=$(usex ffmpeg) | ||
# respect users -march= choice | ||
-DUSE_NATIVE_ARCH=OFF | ||
-DUSE_MPI=$(usex mpi) | ||
-DUSE_OCC=$(usex opencascade) | ||
-DUSE_PYTHON=$(usex python) | ||
-DUSE_SPDLOG=$(usex logging) | ||
-DUSE_SUPERBUILD=OFF | ||
) | ||
# no need to set this, if we only build the library | ||
if use gui; then | ||
mycmakeargs+=( -DTK_INCLUDE_PATH="/usr/$(get_libdir)/tk8.6/include" ) | ||
fi | ||
if use python; then | ||
mycmakeargs+=( | ||
-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 | ||
mycmakeargs+=( -DUSE_MPI4PY=ON ) | ||
else | ||
mycmakeargs+=( -DUSE_MPI4PY=OFF ) | ||
fi | ||
cmake_src_configure | ||
} | ||
|
||
src_install() { | ||
cmake_src_install | ||
use python && python_optimize | ||
|
||
local NETGENDIR="/usr/share/${PN}" | ||
echo -e "NETGENDIR=${NETGENDIR}" > ./99netgen || die | ||
doenvd 99netgen | ||
|
||
if use gui; then | ||
mv "${ED}"/usr/bin/{*.tcl,*.ocf} "${ED}${NETGENDIR}" || die | ||
|
||
convert -deconstruct "${S}/windows/${PN}.ico" netgen.png || die | ||
newicon -s 32 "${S}"/${PN}-2.png ${PN}.png | ||
newicon -s 16 "${S}"/${PN}-3.png ${PN}.png | ||
make_desktop_entry ${PN} "Netgen" netgen Graphics | ||
fi | ||
|
||
mv "${ED}"/usr/share/${PN}/doc/ng4.pdf "${ED}"/usr/share/doc/${PF} || die | ||
dosym -r /usr/share/doc/${PF}/ng4.pdf /usr/share/${PN}/doc/ng4.pdf | ||
|
||
use python || rm -r "${ED}${NETGENDIR}"/py_tutorials || die | ||
} |