commit:     cdbb008b1326263394af387598909c2288bbe982
Author:     Alexander Puck Neuwirth <alexander <AT> neuwirth-informatik <DOT> 
de>
AuthorDate: Sun Apr 21 10:25:24 2024 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Tue Apr 23 09:48:01 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cdbb008b

sci-physics/thepeg: add 2.3.0

Signed-off-by: Alexander Puck Neuwirth <alexander <AT> neuwirth-informatik.de>
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

 sci-physics/thepeg/Manifest                       |   1 +
 sci-physics/thepeg/files/thepeg-2.3.0-rivet.patch |  25 +++++
 sci-physics/thepeg/metadata.xml                   |   8 +-
 sci-physics/thepeg/thepeg-2.3.0.ebuild            | 114 ++++++++++++++++++++++
 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
+}

Reply via email to