mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2025-12-09 00:07:57 +03:00
sci-libs/gmsh: add 4.14.1, fix finding system alglib, add slot op
rm bundled libs to make sure they are not used. Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
This commit is contained in:
parent
20584c106d
commit
f4a4e42c5e
@ -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
|
||||
|
||||
14
sci-libs/gmsh/files/gmsh-4.14.1-alglib.patch
Normal file
14
sci-libs/gmsh/files/gmsh-4.14.1-alglib.patch
Normal file
@ -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})
|
||||
153
sci-libs/gmsh/gmsh-4.14.1.ebuild
Normal file
153
sci-libs/gmsh/gmsh-4.14.1.ebuild
Normal file
@ -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
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user