summaryrefslogtreecommitdiff
path: root/media-gfx/netgen
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2025-01-07 06:41:06 +0000
committerV3n3RiX <venerix@koprulu.sector>2025-01-07 06:41:06 +0000
commitd69399c7befdd98cda62d6a1788ae2aa7f104c5e (patch)
treeeac7184f4cfe7d67580c1d0a0d9942a91e6cb4ee /media-gfx/netgen
parente4d9d6796d5018e338f0b27a3bc97716195bf0b8 (diff)
gentoo auto-resync : 07:01:2025 - 06:41:06
Diffstat (limited to 'media-gfx/netgen')
-rw-r--r--media-gfx/netgen/Manifest5
-rw-r--r--media-gfx/netgen/files/netgen-6.2.2406-encoding_h.patch121
-rw-r--r--media-gfx/netgen/files/netgen-6.2.2406-find-libjpeg-turbo-library.patch29
-rw-r--r--media-gfx/netgen/files/netgen-6.2.2406-link-against-ffmpeg.patch17
-rw-r--r--media-gfx/netgen/netgen-6.2.2406.ebuild184
5 files changed, 356 insertions, 0 deletions
diff --git a/media-gfx/netgen/Manifest b/media-gfx/netgen/Manifest
index 0b2eb706d7fc..98da7e7abbf0 100644
--- a/media-gfx/netgen/Manifest
+++ b/media-gfx/netgen/Manifest
@@ -7,6 +7,11 @@ AUX netgen-6.2.2204-use-system-spdlog.patch 1390 BLAKE2B 541725d179a0b3f9f9430f1
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
AUX netgen-6.2.2302-opencascade-7.8.0.patch 3859 BLAKE2B 6a76eb5839aaa8e420dc4160fdaca2b2e6df7f7d7467026e5d86315403a875bbde2af2df87f0be34029c515659035e3ad434bbba68182bf9b994892e65873c8f SHA512 79edea3c079db0ae295d2692ebc07c6b5a9431697c424fbd57089a999f8882e76e06448ecc63a32c97f9c7317df16b86ad5830c0394ddb748f70c311b3f6824b
+AUX netgen-6.2.2406-encoding_h.patch 3523 BLAKE2B 73608ec5530d671041f56e66a9b6c8eb1324d84a4e5dd65cd5a34a8bd68b34603abb2cfc67517f1e18a09a2193bb80b8859a032b0f280f1e9ff6afd8fd54567d SHA512 1b23ebc82a0f8fecb9e83c0edd1e2f8348c43b3d3124f8378ff370b9506d5fc4c3eb66b279b7e5e1961405cb38d6b420ff17660b032458e4f77282d205f94896
+AUX netgen-6.2.2406-find-libjpeg-turbo-library.patch 1051 BLAKE2B 6cacb2d6703a0e7a2fc534ed074f3c2f2a92aaaea541ab2267a2f69accbca9def673bd418bfdad563d59236b5e5c4f9eecc13cad8f5c313582122e126baf3180 SHA512 6b38ac7cfc09ef1ce619c2558bcf158cdb2561612c0768740d8673bf07d8f66d0b4a9494615f1059e4fbedae6814e0f359305ae323baa90da96d67c2949aded2
+AUX netgen-6.2.2406-link-against-ffmpeg.patch 700 BLAKE2B 25f7558145d99d60af13760ef3fa6029e482f337e41afdea98c508d1c48ac802ed5754a95986d10efaff6572770a9fb50a9e3e4d43b32572d76cfb8f034faecc SHA512 6f10df4fd24d33e574dafd8c2a9f6aabb13285308213ecd241799b175a91732725598750be0d76ed4e62726f3ac80e3e50bfa23a5f6e5e118acaacfdeeba22d3
DIST netgen-6.2.2302.tar.gz 3398683 BLAKE2B 7cf4626ee8163898864af0346cf2c4fa73dcca3ac2068d67f80b05ee926024b36552b33013c2ef8f74026ab942ae08c0628af0ce0c0dac2d004ba26e18bf4619 SHA512 da6e8e43d73af6b7bfae2e3c771d46e34601ff481c251924673f7330bae032a743fb9d5ff2792855e91ed5addb4d22fd4bf9cd7a9dcfb53f476e22a30f1eedb3
+DIST netgen-6.2.2406.tar.gz 3452436 BLAKE2B 4cb42f20e7627a98e54a9f2e6da5d1b4af174fa7e33c6f72a731b4879c3e4324b20016f1980d2ceb50976fedc2b001a0824e2edd03b03c434c49baa947ded126 SHA512 262e57dca39519c797ea58b32eb886d523926aa48979b31df0c61839f9db09eea76346d3519742b7173a78a80335c16960860772646edd20f365dab1e1a6bed8
EBUILD netgen-6.2.2302.ebuild 4143 BLAKE2B bf8b8af09769ba0b120d9ddf264ddc1994a84a02bbe8d19107e8eaf17a6c46b6d7070a38863d352f101bc6c2a9dabc6bb75b72bf925c9bc89017aea00e144642 SHA512 16197a671d6bec6da0cd144c270f3c0fceece515ce63bfa393faf6d11b9101f7752d5d09af36ba3b08bde41557b4a85fd7df8f53af9ad0a597fa3537d0e621e8
+EBUILD netgen-6.2.2406.ebuild 4671 BLAKE2B 1ea338d9a7a3669fb818515858173e85c25e8d556ff640a57bfdc6009182c2faf7d0042abb48f85974755086b04d4ea378b8a97327c45ad2ec89d552d3175e13 SHA512 f05465d75c38de34fb638d98075fa4c7875dcee0c38e74df9b1db93d753f0ace0844c057dd3e115b82d60a1dfd1ba3036f3d13ea88987baa519022f51f103155
MISC metadata.xml 649 BLAKE2B 01bb3d452a1f0002e2e5b8589c2ff83668b2135705599a3223fe37bc89287423f2bef8af15bd949e08c40e7e7ef304362fa8900b048f85b3ad95bcbbc1a7caed SHA512 072b3dc1049e26655316756255a96d34d2e2964296088d0768a8a6953703840d936aace4625b2a46bb36cc147c2814dfe537e01662294c3d5b02f397e5255d0b
diff --git a/media-gfx/netgen/files/netgen-6.2.2406-encoding_h.patch b/media-gfx/netgen/files/netgen-6.2.2406-encoding_h.patch
new file mode 100644
index 000000000000..9d9288412efb
--- /dev/null
+++ b/media-gfx/netgen/files/netgen-6.2.2406-encoding_h.patch
@@ -0,0 +1,121 @@
+From 8504832e746b1581d5b51be7f04f24826440255f Mon Sep 17 00:00:00 2001
+From: Paul Zander <negril.nx+gentoo@gmail.com>
+Date: Thu, 6 Jun 2024 15:59:51 +0200
+Subject: [PATCH 1/2] use std namespace prefix
+
+Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
+---
+ ng/encoding.hpp | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/ng/encoding.hpp b/ng/encoding.hpp
+index 9ea2ffb..498431c 100644
+--- a/ng/encoding.hpp
++++ b/ng/encoding.hpp
+@@ -16,6 +16,8 @@ extern "C" {
+ #include <libswresample/swresample.h>
+ }
+
++#include <iostream>
++
+ constexpr int BITRATE = 50000000;
+
+ class Mpeg {
+@@ -55,6 +57,8 @@ class Mpeg {
+ int height;
+ bool IsStarted() { return is_started; }
+ int AddFrame() {
++ using std::cerr;
++ using std::endl;
+ int ret;
+ int got_packet = 0;
+ AVPacket pkt = { 0 };
+@@ -113,7 +117,9 @@ class Mpeg {
+ return 0;
+ }
+
+- int Start(string filename) {
++ int Start(std::string filename) {
++ using std::cerr;
++ using std::endl;
+ AVCodec *video_codec;
+ if(is_started) {
+ cerr << "Stream already started" << endl;
+--
+2.45.2
+
+
+From 2e52e913603745670cfc5c4a461845a6fb22e118 Mon Sep 17 00:00:00 2001
+From: Paul Zander <negril.nx+gentoo@gmail.com>
+Date: Thu, 6 Jun 2024 16:00:40 +0200
+Subject: [PATCH 2/2] av_init_packet is deprecated
+
+Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
+---
+ ng/encoding.hpp | 18 +++++++++++-------
+ 1 file changed, 11 insertions(+), 7 deletions(-)
+
+diff --git a/ng/encoding.hpp b/ng/encoding.hpp
+index 498431c..97b9e6a 100644
+--- a/ng/encoding.hpp
++++ b/ng/encoding.hpp
+@@ -61,7 +61,6 @@ class Mpeg {
+ using std::endl;
+ int ret;
+ int got_packet = 0;
+- AVPacket pkt = { 0 };
+
+ glReadPixels (0, 0, width, height, GL_RGB, GL_UNSIGNED_BYTE, rgb_buffer);
+ av_image_fill_arrays(rgb_frame->data, rgb_frame->linesize, rgb_buffer, AV_PIX_FMT_RGB24, width, height, 1);
+@@ -77,8 +76,6 @@ class Mpeg {
+ sws_scale(sws_ctx, flipped_data, flipped_stride, 0, enc->height, frame->data, frame->linesize);
+
+
+- av_init_packet(&pkt);
+-
+ got_packet = 0;
+ ret = avcodec_send_frame(enc, frame);
+ if (ret < 0)
+@@ -87,28 +84,35 @@ class Mpeg {
+ return(1);
+ }
+
+- ret = avcodec_receive_packet(enc, &pkt);
++ AVPacket* pkt = av_packet_alloc();
++ ret = avcodec_receive_packet(enc, pkt);
+ if (!ret)
+ got_packet = 1;
+ if (ret == AVERROR(EAGAIN))
++ {
++ av_packet_free(&pkt);
+ return 0;
++ }
+
+ if (ret < 0) {
+ cerr << "Error encoding video frame: " << endl;
++ av_packet_free(&pkt);
+ return 1;
+ }
+
+ if (got_packet) {
+ /* rescale output packet timestamp values from codec to stream timebase */
+- av_packet_rescale_ts(&pkt, enc->time_base, st->time_base);
+- pkt.stream_index = st->index;
++ av_packet_rescale_ts(pkt, enc->time_base, st->time_base);
++ pkt->stream_index = st->index;
+
+ /* Write the compressed frame to the media file. */
+- ret = av_interleaved_write_frame(oc, &pkt);
++ ret = av_interleaved_write_frame(oc, pkt);
+ } else {
+ ret = 0;
+ }
+
++ av_packet_free(&pkt);
++
+ if (ret < 0) {
+ cerr << "Error while writing video frame: " << endl;
+ return(1);
+--
+2.45.2
+
diff --git a/media-gfx/netgen/files/netgen-6.2.2406-find-libjpeg-turbo-library.patch b/media-gfx/netgen/files/netgen-6.2.2406-find-libjpeg-turbo-library.patch
new file mode 100644
index 000000000000..17bf2ad95f61
--- /dev/null
+++ b/media-gfx/netgen/files/netgen-6.2.2406-find-libjpeg-turbo-library.patch
@@ -0,0 +1,29 @@
+From 49507f7708d72b25fd5e350f7f6b30aa80a50cb4 Mon Sep 17 00:00:00 2001
+From: Paul Zander <negril.nx+gentoo@gmail.com>
+Date: Thu, 6 Jun 2024 15:40:10 +0200
+Subject: [PATCH] [PATCH] find libjpeg-turbo library
+
+Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
+---
+ nglib/CMakeLists.txt | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/nglib/CMakeLists.txt b/nglib/CMakeLists.txt
+index b1036ea..78340b6 100644
+--- a/nglib/CMakeLists.txt
++++ b/nglib/CMakeLists.txt
+@@ -13,6 +13,11 @@ if(EMSCRIPTEN)
+ target_link_libraries(nglib PRIVATE ${ZLIB_LIBRARIES} $<BUILD_INTERFACE:$<TARGET_PROPERTY:occ_libs,INTERFACE_LINK_LIBRARIES>>)
+ else(EMSCRIPTEN)
+ target_link_libraries(nglib PUBLIC ngcore)
++ if(TARGET JPEG::JPEG)
++ get_target_property(JPEG_LIBRARIES JPEG::JPEG IMPORTED_LOCATION_RELEASE)
++ else()
++ set(JPEG_LIBRARIES ${JPEG_LIBRARY_RELEASE})
++ endif()
+ target_link_libraries( nglib PRIVATE ${CMAKE_THREAD_LIBS_INIT} ${JPEG_LIBRARIES} ${MKL_LIBRARIES} ${ZLIB_LIBRARIES} occ_libs netgen_cgns )
+ endif(EMSCRIPTEN)
+
+--
+2.45.2
+
diff --git a/media-gfx/netgen/files/netgen-6.2.2406-link-against-ffmpeg.patch b/media-gfx/netgen/files/netgen-6.2.2406-link-against-ffmpeg.patch
new file mode 100644
index 000000000000..c609e06fe94b
--- /dev/null
+++ b/media-gfx/netgen/files/netgen-6.2.2406-link-against-ffmpeg.patch
@@ -0,0 +1,17 @@
+From 69d9c2da29adc9b7a209e78aae950d9834683f58 Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Mon, 31 Oct 2022 13:07:05 +0100
+Subject: [PATCH] link against ffmpeg
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+--- a/ng/CMakeLists.txt
++++ b/ng/CMakeLists.txt
+@@ -28,7 +28,7 @@ if(USE_GUI)
+ if(APPLE)
+ set_target_properties(netgen PROPERTIES OUTPUT_NAME netgen)
+ endif(APPLE)
+- target_link_libraries( netgen ${Python3_LIBRARIES} ${TCL_LIBRARY} ${TK_LIBRARY})
++ target_link_libraries( netgen ${Python3_LIBRARIES} ${TCL_LIBRARY} ${TK_LIBRARY} ${FFMPEG_LIBRARIES})
+ endif(NOT BUILD_FOR_CONDA)
+
+ install(TARGETS nggui ${NG_INSTALL_DIR})
diff --git a/media-gfx/netgen/netgen-6.2.2406.ebuild b/media-gfx/netgen/netgen-6.2.2406.ebuild
new file mode 100644
index 000000000000..35c30b24ff1d
--- /dev/null
+++ b/media-gfx/netgen/netgen-6.2.2406.ebuild
@@ -0,0 +1,184 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake desktop flag-o-matic 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"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="ffmpeg gui jpeg 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
+ media-libs/libglvnd[X]
+ x11-libs/libX11
+ x11-libs/libXmu
+ x11-libs/libxcb:=
+ )
+ jpeg? ( media-libs/libjpeg-turbo:0= )
+ 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-check[${PYTHON_USEDEP}]
+ ') )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-6.2.2204-find-Tk-include-directories.patch"
+ "${FILESDIR}/${PN}-6.2.2406-link-against-ffmpeg.patch"
+ "${FILESDIR}/${PN}-6.2.2204-use-system-catch.patch"
+ "${FILESDIR}/${PN}-6.2.2406-find-libjpeg-turbo-library.patch"
+ "${FILESDIR}/${PN}-6.2.2301-fix-nullptr-deref-in-archive.patch"
+ "${FILESDIR}/${PN}-6.2.2406-encoding_h.patch"
+)
+
+pkg_setup() {
+ if use python; then
+ python-single-r1_pkg_setup
+
+ # NOTE This calls find_package(Python3) without specifying Interpreter in COMPONENTS.
+ # Python3_FIND_UNVERSIONED_NAMES=FIRST is thus never checked and we search the highest python version first.
+ pushd "${T}/${EPYTHON}/bin" > /dev/null || die
+ cp "python-config" "${EPYTHON}-config" || die
+ chmod +x "${EPYTHON}-config" || die
+ popd > /dev/null || die
+ fi
+}
+
+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-08eec44
+ # EOF
+
+ rm external_dependencies -r || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ filter-lto
+
+ 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_SUPERBUILD=OFF
+ -DNETGEN_VERSION_GIT="v${PV}"
+ )
+ # 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_test() {
+ DESTDIR="${T}" cmake_build install
+
+ if use python; then
+ export PYTHONPATH="${T}/$(python_get_sitedir):${T}/usr/$(get_libdir):${BUILD_DIR}/libsrc/core"
+ fi
+
+ CMAKE_SKIP_TESTS=(
+ '^unit_symboltable$'
+ '^pytest$' # SEGFAULT
+ )
+ cmake_src_test
+}
+
+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
+}