summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Puck Neuwirth <alexander@neuwirth-informatik.de>2024-04-21 12:25:24 +0200
committerAndrew Ammerlaan <andrewammerlaan@gentoo.org>2024-04-23 11:48:01 +0200
commitcdbb008b1326263394af387598909c2288bbe982 (patch)
treea0768cd92c5af8be5425a6126ed024d92e49f3d6
parentapp-emulation/wine-staging: bump WINE_MONO to 9.1.0 in live (diff)
downloadgentoo-cdbb008b1326263394af387598909c2288bbe982.tar.gz
gentoo-cdbb008b1326263394af387598909c2288bbe982.tar.bz2
gentoo-cdbb008b1326263394af387598909c2288bbe982.zip
sci-physics/thepeg: add 2.3.0
Signed-off-by: Alexander Puck Neuwirth <alexander@neuwirth-informatik.de> Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
-rw-r--r--sci-physics/thepeg/Manifest1
-rw-r--r--sci-physics/thepeg/files/thepeg-2.3.0-rivet.patch25
-rw-r--r--sci-physics/thepeg/metadata.xml8
-rw-r--r--sci-physics/thepeg/thepeg-2.3.0.ebuild114
4 files changed, 146 insertions, 2 deletions
diff --git a/sci-physics/thepeg/Manifest b/sci-physics/thepeg/Manifest
index f3ee2e5fbe91..96864cdd051c 100644
--- a/sci-physics/thepeg/Manifest
+++ b/sci-physics/thepeg/Manifest
@@ -2,5 +2,6 @@ DIST GRV98nlo.LHgrid 221908 BLAKE2B 01af851928bbcfae110f3f5bc2b7599f86c25adb54e9
DIST MRST2001nlo.LHgrid 719692 BLAKE2B 67a58bcf19857a5cee3eeac29bd2aa236f63c96acbf69b944ed14a94422a986e1579549172a2444b109f5bcfe6fd2fea4acc148c78e2e4f7258a836891ba0648 SHA512 126461ec2358e61221445483074a804c915b94be4a4dfd0330a9cf71feff9a9b981c5594a9d2a1efd236122f44891dd25182649803dccb3b383d03e85e96f930
DIST ThePEG-2.2.2.tar.bz2 1930050 BLAKE2B a10e966ed090f148b991a6434a2d527353014c25f5a91c92c2ce5302e1c51030fe56c2387f409ea3fb804a8efd7f0039424bd98471f0accb22c3092714df0c31 SHA512 70fa179dc1712b27549d1949c6f144cb899c372ec46606ab6b7dbcbf348961562a0a3ed769bdd8f8b8d62c07859a67c5e646ab357a9cbdd0644e557670fe3a3e
DIST ThePEG-2.2.3.tar.bz2 1940925 BLAKE2B f233a637df0018e35e95f1cfaa0f354ac0df594e259bc177108723991697699d25c66721c23d82e03c3d768a108e37c2abf8c2f9817e74c78c7470b37e263cf8 SHA512 143f9a4974e5aa44c8957edd1ac8c621ce298cec8d1aaef39bb7061448e730a90cdb453c9fbf43caa2cf8e5757910584d91a908520bb540ff8e4a67a22455bb4
+DIST ThePEG-2.3.0.tar.bz2 1950464 BLAKE2B ab35bfe6b520c64ce2d65deb1cc79262090256734f42152bdc4ae3e08bb1b2ab686a310d6959a47ad9e0c48fd382d760ccc257fd7e55d99ed06208feea0c8f75 SHA512 5792ea3533ce1aaead96eb8de79827d6e3a3314e4ace7e5dc9392f98ec1160bf5bf7e69e1fbd77040887f09517afdf3e6f0ef9472cf766c70e9f135253b22cdc
DIST cteq5l.LHgrid 134797 BLAKE2B 1e222631ff00979abf64e95ffa3133d29eacd819325fcdf9d4065a1ce85db5704f0a43c646f9a9a3ee7b1905603e9060fc279405435d412bf06ee14ba9121f32 SHA512 1ba41fd773104a933af6f37745dcb6f8422e1aece74ba2b1e15a5fb69fdaf694336c0ec1dc6fbc964d2cf3fe363d17ca0c01a6c2ba6def0afa4389cb4083f34b
DIST cteq6ll.LHpdf 1461 BLAKE2B 66a8ebd404849a14c1240ff1c7b06e758a78ae47cc4e7818b8b7fcb6faecbb17fd8810279e54c70623a048f78e6f89706bcecca4d4b8174468ff52481da37640 SHA512 b89a87d1c1c7cc910aa4af53abc3cc6550670a5a6332989232d33c7da1ba01ce49bbbf9f3bb454e673312fb5bc1679f86eea18f95a1443d1c80d3a622e2b8728
diff --git a/sci-physics/thepeg/files/thepeg-2.3.0-rivet.patch b/sci-physics/thepeg/files/thepeg-2.3.0-rivet.patch
new file mode 100644
index 000000000000..1770b4451534
--- /dev/null
+++ b/sci-physics/thepeg/files/thepeg-2.3.0-rivet.patch
@@ -0,0 +1,25 @@
+--- a/Analysis/RivetAnalysis.cc 2024-01-30 23:57:34.065788628 +0100
++++ b/Analysis/RivetAnalysis.cc 2024-01-31 00:00:54.544781058 +0100
+@@ -31,7 +31,22 @@
+ AnalysisHandler::analyze(event, ieve, loop, state);
+ // Rotate to CMS, extract final state particles and call analyze(particles).
+ // convert to hepmc
++#ifdef HAVE_HEPMC3
++ std::shared_ptr<HepMC3::GenRunInfo> ri = std::make_shared<HepMC3::GenRunInfo>();
++ std::vector<std::string> w_names;
++ w_names.push_back("Default");
++ for ( map<string,double>::const_iterator w = event->optionalWeights().begin();
++ w != event->optionalWeights().end(); ++w ) {
++ w_names.push_back(w->first);
++ }
++ ri->set_weight_names(w_names);
++#endif
++
+ HepMC::GenEvent * hepmc = ThePEG::HepMCConverter<HepMC::GenEvent>::convert(*event);
++#ifdef HAVE_HEPMC3
++ hepmc->set_run_info(ri);
++#endif
++
+ // analyse the event
+ if(_nevent>1) CurrentGenerator::Redirect stdout(cout);
+ if ( _rivet ){
diff --git a/sci-physics/thepeg/metadata.xml b/sci-physics/thepeg/metadata.xml
index cacb2f090dd4..701b9c3edc66 100644
--- a/sci-physics/thepeg/metadata.xml
+++ b/sci-physics/thepeg/metadata.xml
@@ -14,8 +14,12 @@
</longdescription>
<use>
<flag name="fastjet">Adds support for <pkg>sci-physics/fastjet</pkg></flag>
- <flag name="hepmc">Adds support for High Energy Physics Monte Carlo
- Generators <pkg>sci-physics/hepmc</pkg></flag>
+ <flag name="hepmc">Adds support for High Energy Physics Monte Carlo Generators<pkg>sci-physics/hepmc</pkg></flag>
+ <flag name="hepmc3">Adds support for High Energy Physics Monte Carlo Generators 3<pkg>sci-physics/hepmc</pkg></flag>
<flag name="lhapdf">Adds support for <pkg>sci-physics/lhapdf</pkg></flag>
+ <flag name="rivet">Adds support for <pkg>sci-physics/rivet</pkg></flag>
</use>
+ <upstream>
+ <doc>https://thepeg.hepforge.org/doxygen/</doc>
+ </upstream>
</pkgmetadata>
diff --git a/sci-physics/thepeg/thepeg-2.3.0.ebuild b/sci-physics/thepeg/thepeg-2.3.0.ebuild
new file mode 100644
index 000000000000..22285ae6bf08
--- /dev/null
+++ b/sci-physics/thepeg/thepeg-2.3.0.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools elisp-common java-pkg-opt-2
+
+MY_P=ThePEG-${PV}
+
+DESCRIPTION="Toolkit for High Energy Physics Event Generation"
+HOMEPAGE="
+ http://home.thep.lu.se/ThePEG/
+ https://thepeg.hepforge.org/
+"
+
+TEST_URI="https://www.hepforge.org/archive/lhapdf/pdfsets/current"
+SRC_URI="https://www.hepforge.org/archive/thepeg/${MY_P}.tar.bz2
+ test? (
+ hepmc3? (
+ ${TEST_URI}/cteq6ll.LHpdf
+ ${TEST_URI}/cteq5l.LHgrid
+ ${TEST_URI}/GRV98nlo.LHgrid
+ ${TEST_URI}/MRST2001nlo.LHgrid )
+ )"
+
+LICENSE="GPL-2"
+SLOT="0/30"
+KEYWORDS="~amd64"
+IUSE="emacs fastjet +hepmc3 lhapdf static-libs test zlib rivet"
+RESTRICT="!test? ( test )"
+
+CDEPEND="
+ sci-libs/gsl:0=
+ emacs? ( >=app-editors/emacs-23.1:* )
+ fastjet? ( sci-physics/fastjet:0= )
+ rivet? ( sci-physics/rivet:3=[hepmc3] )
+ hepmc3? ( sci-physics/hepmc:3= )
+ lhapdf? ( >=sci-physics/lhapdf-6.0:0= )
+ zlib? ( sys-libs/zlib:0= )"
+DEPEND="${CDEPEND}
+ sci-libs/gsl:=
+ java? ( virtual/jdk:1.8 )
+ test? (
+ sys-process/time
+ dev-libs/boost
+ )"
+RDEPEND="${CDEPEND}
+ java? ( virtual/jre:1.8 )
+"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.8.3-java.patch
+ "${FILESDIR}"/${PN}-2.0.4-gcc6.patch
+ "${FILESDIR}"/${PN}-2.3.0-rivet.patch # properly support rivet/yoda weights in thepeg, reported to upstream by mail.
+)
+
+src_prepare() {
+ find -name 'Makefile.am' -exec \
+ sed -i -e '1ipkgdatadir=$(datadir)/ThePEG' {} \; || die
+ # trick to force c++ linking
+ sed -i \
+ -e '1inodist_EXTRA_libThePEG_la_SOURCES = dummy.cxx' \
+ -e '/dist_pkgdata_DATA = ThePEG.el/d' \
+ lib/Makefile.am || die
+ default
+ java-pkg-opt-2_src_prepare
+ eautoreconf
+}
+
+src_configure() {
+ local -x CONFIG_SHELL=/bin/bash
+ econf \
+ $(use_enable static-libs static) \
+ $(use_with fastjet fastjet "${ESYSROOT}"/usr) \
+ $(use_with hepmc3 hepmc "${ESYSROOT}"/usr) \
+ $(use_with hepmc3 hepmcversion 3) \
+ $(use_with java javagui) \
+ $(use_with lhapdf lhapdf "${ESYSROOT}"/usr) \
+ $(use_with test boost "${ESYSROOT}"/usr) \
+ $(use_with rivet rivet "${ESYSROOT}"/usr) \
+ $(use_with zlib zlib "${ESYSROOT}"/usr)
+}
+
+src_compile() {
+ default
+ use emacs && elisp-compile lib/ThePEG.el
+}
+
+src_test() {
+ emake LHAPATH="${DISTDIR}" check
+}
+
+src_install() {
+ default
+ use emacs && elisp-install ${PN} lib/ThePEG.el{,c}
+ use java && java-pkg_newjar java/ThePEG.jar
+
+ cat <<-EOF > "${T}"/50${PN} || die
+ LDPATH="${EPREFIX}/usr/$(get_libdir)/ThePEG"
+ EOF
+ doenvd "${T}"/50${PN}
+
+ find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}