diff options
author | V3n3RiX <venerix@koprulu.sector> | 2025-01-07 06:41:06 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2025-01-07 06:41:06 +0000 |
commit | d69399c7befdd98cda62d6a1788ae2aa7f104c5e (patch) | |
tree | eac7184f4cfe7d67580c1d0a0d9942a91e6cb4ee /media-gfx/netgen | |
parent | e4d9d6796d5018e338f0b27a3bc97716195bf0b8 (diff) |
gentoo auto-resync : 07:01:2025 - 06:41:06
Diffstat (limited to 'media-gfx/netgen')
-rw-r--r-- | media-gfx/netgen/Manifest | 5 | ||||
-rw-r--r-- | media-gfx/netgen/files/netgen-6.2.2406-encoding_h.patch | 121 | ||||
-rw-r--r-- | media-gfx/netgen/files/netgen-6.2.2406-find-libjpeg-turbo-library.patch | 29 | ||||
-rw-r--r-- | media-gfx/netgen/files/netgen-6.2.2406-link-against-ffmpeg.patch | 17 | ||||
-rw-r--r-- | media-gfx/netgen/netgen-6.2.2406.ebuild | 184 |
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 +} |