Files
guru/sys-cluster/adios2/adios2-2.8.1-r1.ebuild
Alessandro Barbieri d1a51dda10 sys-cluster/adios2: move evpath to net-libs
Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
2022-06-14 10:00:25 +02:00

128 lines
3.3 KiB
Bash

# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
FORTRAN_NEEDED="fortran"
MYPN="${PN^^}"
PYTHON_COMPAT=( python3_{8..10} )
inherit cmake python-single-r1 fortran-2
DESCRIPTION="Next generation of ADIOS developed in the Exascale Computing Program"
HOMEPAGE="
https://csmd.ornl.gov/software/adios2
https://github.com/ornladios/adios2
"
SRC_URI="https://github.com/ornladios/${MYPN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
S="${WORKDIR}/${MYPN}-${PV}"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE="blosc bzip2 endian-reverse examples fortran hdf5 mpi png profile python sodium sst szip test zeromq zfp"
RDEPEND="
dev-cpp/nlohmann_json
dev-cpp/yaml-cpp:=
dev-libs/atl
dev-libs/dill
>dev-libs/ffs-1.6.0
dev-libs/kwsys:=
dev-libs/perfstubs:=[timers]
dev-libs/pugixml
net-libs/enet
>net-libs/evpath-4.5.0
blosc? ( dev-libs/c-blosc:= )
bzip2? ( app-arch/bzip2 )
hdf5? ( sci-libs/hdf5:=[mpi=] )
mpi? ( virtual/mpi[cxx] )
png? ( media-libs/libpng:= )
python? (
${PYTHON_DEPS}
$(python_gen_cond_dep '
dev-python/numpy[${PYTHON_USEDEP}]
dev-python/pybind11[${PYTHON_USEDEP}]
')
mpi? ( $(python_gen_cond_dep 'dev-python/mpi4py[${PYTHON_USEDEP}]') )
)
sodium? ( dev-libs/libsodium:= )
sst? ( sys-block/libfabric:= )
szip? ( virtual/szip )
zeromq? ( net-libs/zeromq:= )
zfp? ( dev-libs/zfp )
"
DEPEND="
${RDEPEND}
test? ( dev-cpp/gtest )
"
BDEPEND="virtual/pkgconfig"
PATCHES=(
"${FILESDIR}/${P}-system-libs.patch"
"${FILESDIR}/${P}-sandbox.patch"
)
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
RESTRICT="!test? ( test )"
pkg_setup() {
use fortran && fortran-2_pkg_setup
use python && python-single-r1_pkg_setup
}
src_configure() {
local mycmakeargs=(
-DBUILD_SHARED_LIBS=ON
-DADIOS2_USE_BP5=OFF
-DADIOS2_USE_CUDA=OFF
-DADIOS2_USE_DataMan=OFF
-DADIOS2_USE_DataSpaces=OFF
-DADIOS2_USE_EXTERNAL_ATL=ON
-DADIOS2_USE_EXTERNAL_DEPENDENCIES=ON
-DADIOS2_USE_EXTERNAL_DILL=ON
-DADIOS2_USE_EXTERNAL_ENET=ON
-DADIOS2_USE_EXTERNAL_FFS=ON
-DADIOS2_USE_EXTERNAL_EVPATH=ON
-DADIOS2_USE_EXTERNAL_GTEST=ON
-DADIOS2_USE_EXTERNAL_NLOHMANN_JSON=ON
-DADIOS2_USE_EXTERNAL_PUGIXML=ON
-DADIOS2_USE_EXTERNAL_PYBIND11=ON
-DADIOS2_USE_EXTERNAL_YAMLCPP=ON
-DADIOS2_USE_IME=OFF
-DADIOS2_USE_LIBPRESSIO=OFF
-DADIOS2_USE_MGARD=OFF
-DADIOS2_BUILD_EXAMPLES="$(usex examples)"
-DADIOS2_BUILD_EXAMPLES_EXPERIMENTAL="$(usex examples)"
-DADIOS2_USE_Blosc="$(usex blosc)"
-DADIOS2_USE_BZip2="$(usex bzip2)"
-DADIOS2_USE_Endian_Reverse="$(usex endian-reverse)"
-DADIOS2_USE_Fortran="$(usex fortran)"
-DADIOS2_USE_HDF5="$(usex hdf5)"
-DADIOS2_USE_MPI="$(usex mpi)"
-DADIOS2_USE_PNG="$(usex png)"
-DADIOS2_USE_Profiling="$(usex profile)"
-DADIOS2_USE_Python="$(usex python)"
-DADIOS2_USE_Sodium="$(usex sodium)"
-DADIOS2_USE_SST="$(usex sst)"
-DADIOS2_USE_SZ="$(usex szip)"
-DADIOS2_USE_ZeroMQ="$(usex zeromq)"
-DADIOS2_USE_ZFP="$(usex zfp)"
-DBUILD_TESTING="$(usex python)"
)
cmake_src_configure
}
src_prepare() {
rm -r thirdparty/{atl,dill,enet,EVPath,ffs,GTest,KWSys,mingw-w64,pugixml,pybind11,yaml-cpp} || die
rm -r thirdparty/nlohmann_json/nlohmann_json_wrapper/single_include || die
rm -r thirdparty/perfstubs/perfstubs || die
cmake_src_prepare
}
src_install() {
cmake_src_install
dodoc ReadMe.md
}