sys-cluster/scorep: new package, add 7.1

Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
This commit is contained in:
Alessandro Barbieri
2022-06-10 05:46:50 +02:00
parent 08f2fc5f55
commit dfc60580ae
3 changed files with 143 additions and 0 deletions

View File

@@ -0,0 +1 @@
DIST scorep-7.1.tar.gz 19979160 BLAKE2B be0f3d6534410c9c510e22110f92227dcdf52b77eba735913c92bcd67fed915d59a6988090f90abd777a9c4b0d821de7264d7b40d0687c8f684e4af72e42c43b SHA512 19da94e64eb9e3fb27f2c37087df2acc511645aa16abf80bb73c19eddab9efa004325d64eb0031df2f10a250976c9c2b1faf3169ebd32909703bf678c9abeb1a

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>lssndrbarbieri@gmail.com</email>
<name>Alessandro Barbieri</name>
</maintainer>
<use>
<flag name="gcc-plugin">Enable support for the GCC plug-in instrumentation</flag>
<flag name="llvm">Enable the user library wrapping feature</flag>
<flag name="online-access">Enable Online Access</flag>
<flag name="opencl">Build with libOpenCL support</flag>
<flag name="openshmem">Use the SHMEM compiler</flag>
<flag name="pmi">Build with libpmi support</flag>
</use>
</pkgmetadata>

View File

@@ -0,0 +1,126 @@
# Copyright 2019-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LLVM_MAX_SLOT=14
inherit autotools llvm fortran-2 toolchain-funcs
DESCRIPTION="Scalable Performance Measurement Infrastructure for Parallel Codes"
HOMEPAGE="https://www.vi-hps.org/projects/score-p"
SRC_URI="https://perftools.pages.jsc.fz-juelich.de/cicd/${PN}/tags/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64"
IUSE="debug gcc-plugin llvm mpi online-access opencl openshmem pmi unwind"
CDEPEND="
dev-libs/cubelib
dev-libs/cubew
dev-libs/papi
sys-cluster/opari2
sys-cluster/otf2
sys-libs/binutils-libs:=
sys-libs/zlib
llvm? (
sys-devel/clang:"${LLVM_MAX_SLOT}"
<sys-devel/llvm-"${LLVM_MAX_SLOT}":=
|| (
sys-devel/llvm:12
sys-devel/llvm:13
sys-devel/llvm:"${LLVM_MAX_SLOT}"
)
)
mpi? ( virtual/mpi )
openshmem? ( sys-cluster/SOS )
pmi? ( || ( sys-cluster/slurm sys-cluster/pmix[pmi] ) )
unwind? ( || ( sys-libs/libunwind sys-libs/llvm-libunwind ) )
"
RDEPEND="
${CDEPEND}
opencl? ( virtual/opencl )
"
DEPEND="
${CDEPEND}
opencl? ( dev-util/opencl-headers )
"
#PATCHES=( "${FILESDIR}/${P}-respect-flags.patch" )
pkg_setup() {
llvm_pkg_setup
fortran-2_pkg_setup
}
src_prepare() {
rm -r vendor || die
default
eautoreconf
}
src_configure() {
tc-export CC CXX FC F77 CPP
if use openshmem; then
export SHMEMCC="oshcc"
export SHMEMCXX="oshc++"
export SHMEMF77="oshfort"
export SHMEMFC="oshfort"
export SHMEM_CPPFLAGS="${CPPFLAGS}"
export SHMEM_CFLAGS="${CFLAGS}"
export SHMEM_CXXFLAGS="${CXXFLAGS}"
export SHMEM_FFLAGS="${FFLAGS}"
export SHMEM_FCFLAGS="${FCFLAGS}"
export SHMEM_LDFLAGS="${LDFLAGS}"
export SHMEM_LIBS="-lsma"
export SHMEM_LIB_NAME="libsma"
export SHMEM_NAME="sandia-openshmem"
fi
local myconf=(
--disable-cuda
--disable-experimental-platform
--disable-openacc
--disable-platform-mic
--disable-static
--enable-shared
--with-cubelib
--with-cubew
--with-libbfd
--with-opari2
--with-otf2
--with-papi-header="/usr/include"
--with-papi-lib="/usr/$(get_libdir)"
--without-libcuda
--without-libcudart
--without-libcupti
--without-liblustreapi
--without-libnvidia-ml
--without-librca
--without-pdt
$(use_enable debug)
$(use_with gcc-plugin)
$(use_with online-access)
$(use_with opencl libOpenCL)
$(use_with openshmem shmem openshmem)
$(use_with pmi)
$(use_with unwind libunwind)
)
if use llvm; then
myconf+=( "--with-llvm=$(get_llvm_prefix)/bin" )
else
myconf+=( "--without-llvm" )
fi
use mpi || myconf+=( "--without-mpi" )
econf "${myconf[@]}"
}
src_install() {
default
find "${ED}" -name '*.la' -delete || die
}