commit: d180ae1fc1c0fbd40b45f9576dfa8adba563d7b8
Author: Alexander Puck Neuwirth <alexander <AT> neuwirth-informatik <DOT>
de>
AuthorDate: Thu Dec 12 13:34:51 2024 +0000
Commit: Alexander Puck Neuwirth <alexander <AT> neuwirth-informatik <DOT>
de>
CommitDate: Thu Dec 12 15:19:25 2024 +0000
URL: https://gitweb.gentoo.org/proj/sci.git/commit/?id=d180ae1f
sci-physics/openloops: offer processes
Signed-off-by: Alexander Puck Neuwirth <alexander <AT> neuwirth-informatik.de>
sci-physics/openloops/metadata.xml | 4 ++
...oops-2.1.3.ebuild => openloops-2.1.3-r1.ebuild} | 56 ++++++++++++++++------
2 files changed, 46 insertions(+), 14 deletions(-)
diff --git a/sci-physics/openloops/metadata.xml
b/sci-physics/openloops/metadata.xml
index 5bec6ac4c..a32ce734b 100644
--- a/sci-physics/openloops/metadata.xml
+++ b/sci-physics/openloops/metadata.xml
@@ -19,5 +19,9 @@
<flag name="collier">Build with collier</flag>
<flag name="extra">Build libs with extra</flag>
<flag name="cuttools">Build with cuttools</flag>
+ <flag name="ppllj">Build pp to llj process</flag>
+ <flag name="pplljj">Build pp to lljj process</flag>
+ <flag name="pplnj-ckm">Build pp to lnj process with ckm matrix</flag>
+ <flag name="pplnjj-ckm">Build pp to lljj process with ckm matrix</flag>
</use>
</pkgmetadata>
diff --git a/sci-physics/openloops/openloops-2.1.3.ebuild
b/sci-physics/openloops/openloops-2.1.3-r1.ebuild
similarity index 62%
rename from sci-physics/openloops/openloops-2.1.3.ebuild
rename to sci-physics/openloops/openloops-2.1.3-r1.ebuild
index a53eb1f9e..876bbdaa3 100644
--- a/sci-physics/openloops/openloops-2.1.3.ebuild
+++ b/sci-physics/openloops/openloops-2.1.3-r1.ebuild
@@ -14,13 +14,23 @@ DESCRIPTION="Evaluation of tree and one-loop matrix
elements for any Standard Mo
HOMEPAGE="https://openloops.hepforge.org/index.html"
#SRC_URI="https://openloops.hepforge.org/downloads?f=${MY_P}.tar.gz ->
${MY_P}.tar.gz"
#S="${WORKDIR}/${MY_P}"
-SRC_URI="https://gitlab.com/openloops/OpenLoops/-/archive/${MY_P}/${MY_PN}-${MY_P}.tar.bz2"
+# since the files are not publicly versioned we mirror them from
+# https://www.physik.uzh.ch/data/openloops/repositories/public/processes/2
+COMMON_URI="https://gitlab.com/openloopsmirror/"
+
+SRC_URI="
+
https://gitlab.com/openloops/OpenLoops/-/archive/${MY_P}/${MY_PN}-${MY_P}.tar.bz2
+ ppllj? ( ${COMMON_URI}/ppllj/-/archive/a3a36918/ppllj-a3a36918.tar.bz2 )
+ pplljj? (
${COMMON_URI}/pplljj/-/archive/93a6e3f7/pplljj-93a6e3f7.tar.bz2 )
+ pplnj-ckm? (
${COMMON_URI}/pplnj_ckm/-/archive/4d8743c/pplnj_ckm-4d8743c.tar.bz2 )
+ pplnjj-ckm? (
${COMMON_URI}/pplnjj_ckm/-/archive/d3d5302/pplnjj_ckm-d3d5302.tar.bz2 )
+"
S="${WORKDIR}/${MY_PN}-${MY_P}"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64"
-IUSE="+collier +cuttools +extra"
+IUSE="+collier +cuttools +extra ppllj pplljj pplnj-ckm pplnjj-ckm"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="
@@ -39,7 +49,7 @@ PATCHES=(
src_prepare() {
default
mv openloops.cfg.tmpl openloops.cfg || die
- sed -i "s|scons -Q|scons -Q -C /opt/${MY_P}/|g" openloops || die
+ sed -i "s|\\\$BASEDIR/scons -Q|scons -Q -C /opt/${MY_P}/|g" openloops
|| die
if use extra ; then
sed -i "s|#compile_extra.*|compile_extra = 1|" openloops.cfg ||
die
fi
@@ -54,9 +64,7 @@ src_prepare() {
cc = $(tc-getCC)
cxx = $(tc-getCXX)
fortran_compiler = $(tc-getFC)
- process_src_dir = ${EPREFIX}/opt/${MY_P}/process_src/
- process_obj_dir = ${EPREFIX}/opt/${MY_P}/process_obj/
- process_lib_dir = ${EPREFIX}/opt/${MY_P}/proclib/
+
release = $PV
import_env = @all
EOF
@@ -70,6 +78,22 @@ src_prepare() {
src_compile() {
escons --cache-disable
+ for OLPROC in ppllj pplljj pplnj_ckm pplnjj_ckm; do
+ if use ${OLPROC//_/-}; then
+ # move downloaded files to src
+ mkdir -p "${S}/process_src/${OLPROC}" || die
+ mv "${WORKDIR}/${OLPROC}-"*/*
"${S}/process_src/${OLPROC}" || die
+ # compile it
+ escons auto=${OLPROC} generator=0
+ fi
+ done
+
+ # insert these later since we are done with compiling in ${S} now
+ cat <<-EOF >> openloops.cfg || die
+ process_src_dir = ${EPREFIX}/opt/${MY_P}/process_src/
+ process_obj_dir = ${EPREFIX}/opt/${MY_P}/process_obj/
+ process_lib_dir = ${EPREFIX}/usr/$(get_libdir)/
+ EOF
}
src_install() {
@@ -77,9 +101,17 @@ src_install() {
dobin openloops
cd include || die
doheader openloops.h
- cd ../lib || die
+
# Also install so.version links
+ cd ../lib || die
dolib.so libolcommon.so* libopenloops.so* librambo.so* libtrred.so*
+ # install processes
+ cd ../proclib || die
+ dolib.so *.so
+ # also install the process info files
+ insinto /usr/$(get_libdir)/
+ doins *.info
+
cd ../lib_src/olcommon/mod || die
doheader *.mod
cd ../../openloops/mod || die
@@ -94,15 +126,11 @@ src_install() {
doins openloops.cfg SConstruct
doins -r pyol
- # Previous method of allowing everyone everything
- # maybe better to use a group for that
- # for now like lhapdf just let root install
- #fperms -R a=u /opt/${MY_P}
- #fperms a=u /opt/${MY_P}
-
+ # no need to also install the source code
+ #doins -r process_src
}
pkg_postinst() {
elog "Install processes with openloops libinstall."
- elog "They are installed in /opt/${MY_P}/proclib."
+ elog "They are installed in ${EPREFIX}/usr/$(get_libdir)/."
}