| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 4.5.1 | 8 | ~amd64 ~arm ~arm64 ~x86 | 0/$(ver_cut 1-2) |
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
FORTRAN_NEEDED="fortran"
FORTRAN_STANDARD="90 2003"
inherit cmake flag-o-matic fortran-2
DESCRIPTION="CFD General Notation System standard library"
HOMEPAGE="
https://cgns.github.io/
https://github.com/CGNS/CGNS
"
SRC_URI="https://github.com/CGNS/CGNS/archive/v${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/CGNS-${PV}"
LICENSE="ZLIB"
SLOT="0/$(ver_cut 1-2)"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
IUSE="base-scope debug examples fortran +hdf5 legacy mpi scoping szip test tools"
RDEPEND="
hdf5? ( sci-libs/hdf5:=[mpi=,szip=] )
tools? (
dev-lang/tcl:=
dev-lang/tk:=
x11-libs/libXmu:=
virtual/glu
virtual/opengl
)
"
DEPEND="${RDEPEND}"
RESTRICT="
fortran? ( test )
!test? ( test )
"
REQUIRED_USE="
mpi? ( hdf5 )
szip? ( hdf5 )
"
PATCHES=(
"${FILESDIR}"/${PN}-4.5.0-rpath.patch
"${FILESDIR}"/${PN}-4.5.0-tk-internal.patch
)
QA_CONFIG_IMPL_DECL_SKIP=(
H5Pset_coll_metadata_write # Will be declared when mpi
H5Pset_all_coll_metadata_ops # Will be declared when mpi
)
pkg_setup() {
use fortran && fortran-2_pkg_setup
}
src_prepare() {
sed \
-e 's|/lib|/'$(get_libdir)'|' \
-e '/DESTINATION/s|lib|'$(get_libdir)'|g' \
-i src/CMakeLists.txt || die
cmake_src_prepare
}
src_configure() {
# Needed for uses an internal header (bug #934122)
if use tools ; then
local tk_ver=$(best_version dev-lang/tk)
tk_ver=${tk_ver#dev-lang/tk-}
tk_ver=$(ver_cut 1-2 ${tk_ver})
append-cppflags -I"${ESYSROOT}/usr/$(get_libdir)/tk${tk_ver}/include/generic"
fi
local mycmakeargs=(
-DCGNS_BUILD_SHARED=ON
-DCGNS_USE_SHARED=ON
-DCGNS_BUILD_CGNSTOOLS="$(usex tools)"
-DCGNS_ENABLE_BASE_SCOPE="$(usex base-scope)"
-DCGNS_ENABLE_FORTRAN="$(usex fortran)"
-DCGNS_ENABLE_HDF5="$(usex hdf5)"
-DCGNS_ENABLE_LEGACY="$(usex legacy)"
-DCGNS_ENABLE_SCOPING="$(usex scoping)"
-DCGNS_ENABLE_MEM_DEBUG="$(usex debug)"
-DCGNS_ENABLE_TESTS="$(usex test)"
)
if use mpi; then
mycmakeargs+=(
-DHDF5_NEED_MPI="$(usex mpi)"
-DHDF5_NEED_SZIP="$(usex szip)"
-DHDF5_NEED_ZLIB="$(usex szip)"
)
fi
cmake_src_configure
}
src_install() {
cmake_src_install
rm "${ED}/usr/$(get_libdir)/libcgns.a" || die
dodoc README.md release_docs/{HISTORY.txt,RELEASE.md}
dodoc release_docs/*.pdf
docompress -x /usr/share/doc/${PF}/examples
use examples && dodoc -r src/examples
}
hdf5? ( sci-libs/hdf5:=[mpi=,szip=] ) tools? ( dev-lang/tcl:= dev-lang/tk:= x11-libs/libXmu:= virtual/glu virtual/opengl )
hdf5? ( sci-libs/hdf5:=[mpi=,szip=] ) tools? ( dev-lang/tcl:= dev-lang/tk:= x11-libs/libXmu:= virtual/glu virtual/opengl )
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | cgnslib-4.5.1.tar.gz | 2083640 bytes | https://github.com/CGNS/CGNS/archive/v4.5.1.tar.gz |