diff options
author | Alexander Puck Neuwirth <alexander@neuwirth-informatik.de> | 2024-04-21 12:25:24 +0200 |
---|---|---|
committer | Andrew Ammerlaan <andrewammerlaan@gentoo.org> | 2024-04-23 11:48:01 +0200 |
commit | cdbb008b1326263394af387598909c2288bbe982 (patch) | |
tree | a0768cd92c5af8be5425a6126ed024d92e49f3d6 /sci-physics | |
parent | app-emulation/wine-staging: bump WINE_MONO to 9.1.0 in live (diff) | |
download | gentoo-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>
Diffstat (limited to 'sci-physics')
-rw-r--r-- | sci-physics/thepeg/Manifest | 1 | ||||
-rw-r--r-- | sci-physics/thepeg/files/thepeg-2.3.0-rivet.patch | 25 | ||||
-rw-r--r-- | sci-physics/thepeg/metadata.xml | 8 | ||||
-rw-r--r-- | 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 +} |