blob: 1b6a01dc2b798acfe018775c1baa08019bb82ba0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..10} )
inherit cmake fortran-2 python-any-r1 toolchain-funcs
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-3 free-noncomm"
SLOT="0"
KEYWORDS="~amd64 ~x86"
## cgns is not compiling ATM, maybe fix cgns lib first
IUSE="blas cgns examples jpeg med metis mpi netgen opencascade petsc png python shared X zlib"
REQUIRED_USE="med? ( mpi )"
RDEPEND="
virtual/fortran
X? ( x11-libs/fltk:1[xft] )
blas? ( virtual/blas virtual/lapack sci-libs/fftw:3.0 )
cgns? ( sci-libs/cgnslib )
jpeg? ( media-libs/libjpeg-turbo )
med? ( sci-libs/med[mpi] )
metis? ( <sci-libs/metis-5.2.0 )
opencascade? ( sci-libs/opencascade:* )
png? ( media-libs/libpng:0 )
petsc? ( sci-mathematics/petsc[mpi=] )
zlib? ( sys-libs/zlib )
mpi? ( virtual/mpi[cxx] )
"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
virtual/pkgconfig
python? ( dev-lang/swig:0 )
"
PATCHES=( "${FILESDIR}"/${P}-opencascade.patch )
pkg_setup() {
fortran-2_pkg_setup
}
src_configure() {
local mycmakeargs=( )
use blas && \
mycmakeargs+=(-DCMAKE_Fortran_COMPILER=$(tc-getF77))
mycmakeargs+=(
-DENABLE_BLAS_LAPACK="$(usex blas)"
-DENABLE_BUILD_DYNAMIC="$(usex shared)"
-DENABLE_CGNS="$(usex cgns)"
-DENABLE_FLTK="$(usex X)"
-DENABLE_GRAPHICS="$(usex X)"
-DENABLE_MED="$(usex med)"
-DENABLE_MPI="$(usex mpi)"
-DENABLE_METIS="$(usex metis)"
-DENABLE_NETGEN="$(usex netgen)"
-DENABLE_OCC="$(usex opencascade)"
-DENABLE_PETSC="$(usex petsc)"
-DENABLE_PRIVATE_API="$(usex shared)"
-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
}
|