diff --git a/sci-libs/gmsh/Manifest b/sci-libs/gmsh/Manifest index 4fcf3284eb81..f3404d2a12fb 100644 --- a/sci-libs/gmsh/Manifest +++ b/sci-libs/gmsh/Manifest @@ -1 +1,2 @@ DIST gmsh-4.14.0-source.tgz 18458158 BLAKE2B 02af538c094fb7fa1033f3d5821dab3e1554ca10e0bc7a0ab87cca3079e119c5fec149c4af2f4c12d213776f36d8b9734631fd5a3240a9e938c2330dd6bc8989 SHA512 130104088e6ba195a4bdc14ef4c79b28872996fa58690161bf304e267d02b21247a3f7865d4c08eadc87cd686657a7fea52379b5ec0a8d67280b237c2a2647bc +DIST gmsh-4.14.1-source.tgz 18458428 BLAKE2B 5a38e166b52c68f2880d4d0d649719800844289cf8b2e8377b6579bb1b91e5b1e7c0adfb528371ab92ed761f1a4433ecc73d1220c6e35d8c731b233f36fd6143 SHA512 746be1fcbb6b39d1b77df0ee47a3080b34de90f859ca6c31ef7331d7a3d56ec129b35c4383f909dbf47c80199764ea2a2cbffa4f09b018c131f6c97158d05a1c diff --git a/sci-libs/gmsh/files/gmsh-4.14.1-alglib.patch b/sci-libs/gmsh/files/gmsh-4.14.1-alglib.patch new file mode 100644 index 000000000000..d56215d28ab4 --- /dev/null +++ b/sci-libs/gmsh/files/gmsh-4.14.1-alglib.patch @@ -0,0 +1,14 @@ +Partially reverts https://gitlab.onelab.info/gmsh/gmsh/-/commit/8becbc0bca57e5f823a36327a400d2d3688b3dba +which could not possibly have worked with system alglib. + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -774,7 +774,7 @@ + + if(ENABLE_ALGLIB) + find_library(ALGLIB_LIB alglib) +- find_path(ALGLIB_INC "stdafx.h" PATH_SUFFIXES libalglib) ++ find_path(ALGLIB_INC "stdafx.h" PATH_SUFFIXES alglib) + if(ENABLE_SYSTEM_CONTRIB AND ALGLIB_LIB AND ALGLIB_INC) + list(APPEND EXTERNAL_LIBRARIES ${ALGLIB_LIB}) + list(APPEND EXTERNAL_INCLUDES ${ALGLIB_INC}) diff --git a/sci-libs/gmsh/gmsh-4.14.1.ebuild b/sci-libs/gmsh/gmsh-4.14.1.ebuild new file mode 100644 index 000000000000..eb8200ee4029 --- /dev/null +++ b/sci-libs/gmsh/gmsh-4.14.1.ebuild @@ -0,0 +1,153 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..13} ) + +inherit cmake desktop fortran-2 python-r1 toolchain-funcs xdg-utils + +DESCRIPTION="Three-dimensional finite element mesh generator" +HOMEPAGE="https://gmsh.info https://gitlab.onelab.info/gmsh/gmsh" +SRC_URI="https://gmsh.info/src/${P}-source.tgz" +S="${WORKDIR}/${P}-source" + +LICENSE=" + GPL-2+ free-noncomm + alglib? ( MIT ) + gmm? ( LGPL-2.1+ ) + metis? ( Apache-2.0 ) + netgen? ( LGPL-2.1+ ) + voro? ( BSD ) +" +SLOT="0" +KEYWORDS="~amd64 ~x86" +## cgns is not compiling ATM, maybe fix cgns lib first +IUSE="+alglib +blas cgns eigen examples +gmm gui jpeg med metis mpi mumps netgen opencascade petsc pdf png python shared slepc voro zlib" + +REQUIRED_USE=" + ^^ ( blas eigen ) + mumps? ( blas ) + slepc? ( petsc ) + python? ( shared ${PYTHON_REQUIRED_USE} ) +" + +RDEPEND=" + virtual/fortran + gui? ( x11-libs/fltk:1=[xft(+)] ) + alglib? ( sci-libs/alglib:= ) + blas? ( + sci-libs/fftw:3.0 + virtual/blas + virtual/lapack + ) + cgns? ( + sci-libs/cgnslib + sci-libs/hdf5:=[mpi=] + ) + eigen? ( dev-cpp/eigen ) + gmm? ( sci-mathematics/gmm ) + jpeg? ( media-libs/libjpeg-turbo ) + med? ( + sci-libs/hdf5:=[mpi=] + sci-libs/med[mpi=] + ) + metis? ( >=sci-libs/metis-5.2.0 ) + mpi? ( virtual/mpi ) + mumps? ( sci-libs/mumps[mpi=] ) + opencascade? ( sci-libs/opencascade:* ) + pdf? ( app-text/poppler:= ) + png? ( media-libs/libpng:0 ) + petsc? ( sci-mathematics/petsc[mpi=] ) + python? ( ${PYTHON_DEPS} ) + slepc? ( sci-mathematics/slepc[mpi=] ) + voro? ( sci-libs/voro++ ) + zlib? ( sys-libs/zlib ) +" + +DEPEND=" + ${RDEPEND} + ${PYTHON_DEPS} + virtual/pkgconfig + python? ( dev-lang/swig ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-4.9.5-opencascade.patch + "${FILESDIR}"/${PN}-4.11.1-metis-5-2.patch + "${FILESDIR}"/${PN}-4.14.1-alglib.patch # downstream; find it in include subdir +) + +src_prepare() { + # ensure we don't let automagic detect bundled libs + # for pkgs supposed to be in system + einfo "Cleanup bundled libs:" + local contrib + for contrib in ALGLIB eigen gmm metis Netgen voro++; do + rm -rv contrib/${contrib} || die + done + + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( -DENABLE_SYSTEM_CONTRIB="YES" ) + + use blas && \ + mycmakeargs+=( -DCMAKE_Fortran_COMPILER=$(tc-getF77) ) + + mycmakeargs+=( + -DENABLE_ALGLIB="$(usex alglib)" + -DENABLE_BLAS_LAPACK="$(usex blas)" + -DENABLE_BUILD_DYNAMIC="$(usex shared)" + -DENABLE_CGNS="$(usex cgns)" + -DENABLE_EIGEN="$(usex eigen)" + -DENABLE_FLTK="$(usex gui)" + -DENABLE_GMM="$(usex gmm)" + -DENABLE_GRAPHICS="$(usex gui)" + -DENABLE_MED="$(usex med)" + -DENABLE_MPI="$(usex mpi)" + -DENABLE_METIS="$(usex metis)" + -DENABLE_MUMPS="$(usex mumps)" + -DENABLE_NETGEN="$(usex netgen)" + -DENABLE_OCC="$(usex opencascade)" + -DENABLE_PETSC="$(usex petsc)" + -DENABLE_POPPLER="$(usex pdf)" + -DENABLE_SLEPC="$(usex slepc)" + -DENABLE_PRIVATE_API="$(usex shared)" + -DENABLE_VOROPP="$(usex voro)" + -DENABLE_WRAP_PYTHON="$(usex python)" + ) + + cmake_src_configure +} + +src_install() { + cmake_src_install + + if use examples ; then + dodoc -r examples tutorials + docompress -x /usr/share/doc/${PF}/{examples,tutorials} + fi + + if use python; then + python_foreach_impl python_domodule api/gmsh.py + fi + + if use gui ; then + newicon -s 64 "/${S}/utils/icons/gmsh-no-text.png" gmsh.png + make_desktop_entry "/usr/bin/gmsh" "Gmsh ${PV}" "gmsh" "Science;Math" + fi +} + +pkg_postinst() { + if use gui ; then + xdg_icon_cache_update + fi +} + +pkg_postrm() { + if use gui ; then + xdg_icon_cache_update + fi +}