Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sci-physics/pythia: add 8.3.09, 9999 #32056

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
5 changes: 3 additions & 2 deletions sci-physics/pythia/Manifest
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ DIST cteq66.tar.gz 8647237 BLAKE2B 3ac47b6eee434f89ff329cfcb8268782af4ffa552ca4b
DIST cteq6l1.tar.gz 317834 BLAKE2B eccad131853f9a760d0dfd43a3f8705f8edbac3ec7373de9ef9a8936f13ba06500ba5758cd04649dd1b85ac04fc778e9d96222877e74e9ff02263455b233fa41 SHA512 7177608e97077eaf45a292db4ea74eb9a28b4b500ab8be02098b4837a5583cd397828abc3bf43ead448926eaa75ae3968bd059ecde333d90ed6e4295cbe1873c
DIST lutp0613man2.pdf 2902047 BLAKE2B c2f8e8f9031c843933cd927b32921813b580a1811733279d67ece7d1181a47225bc37e5a3de57b48ec353db46362fb313c986edde00efb5268f1fc86200e32f5 SHA512 a8439b3b150b6f3924d4d3671a4fad6a815c374b1f46060072ca6c1faa797a2f73f8727920aaa7ae885c4f6f135c8d8f94d43e518cfe25271bb95652112def58
DIST pythia-6.4.18-examples.tar.bz2 36366 BLAKE2B ec655014d3904b66da4a1e748a37c366c2adf9e914b9abf8c38968dcbc09129badcccd2705bc9437c05e73ee4489807835383546f55fbc9cd65399fb507e704e SHA512 ba921379a6df4ca417b60ea5b78af506f13135cdf896fa6beeca9713428ad6f298c94c0fe65fca3e583f8f268dcf84ebe4f1f81b46fd865d5f641f7c1e9fa7e1
DIST pythia-6.4.28.tar.xz 490248 BLAKE2B aff9006a4d3a0536d39a5b5161329f058b980554046a57979cc72c80067be96f00b5056dee29fc7f0039ddae074560823427c3a0e24e59f69662f08524fbdcd4 SHA512 f9db72658f2132ce08d31c8a9f7fe727466b184ef41cc4b762fe2bde48dbdfd7b5df19b21a869e20a1f107c96e9daec115c980e11592968eb2cad666b7c96bdc
DIST pythia6-20160413.tar.gz 567976 BLAKE2B 92ee81e41db46d49706599ee387a650f67d54a0ea165648de0d09d6cec811c2a4b22903c15cca0abaf5f34cf28333d70315a2c71f4ce0ec0bc48757c20114ae7 SHA512 2a9ea2ae299e8d49bd9750f8c68f0b7f534fb91254c2eebc60ef40828400bdf5e5c4e0956d61807e773a51db873ab4a036c3ac264f904d0bb2b85f4860e538d3
DIST pythia8245.tgz 23737440 BLAKE2B 74fd060229a342a32ddd33cd1911708c03e23ee0656a23ed91663fa08b35bb015f75bedba2e6ef13cfc9524affde8e8b65653596eb34f1f080781e655b85af5b SHA512 25107eb98474217ac697476143e879c62fcf5653994a2daf61cfca892f91fbaea3c274019fb4469e9ef547e87d69b8842ee28db5fdac6433965a62eeb16ef95a
DIST pythia6428-split.tgz 689807 BLAKE2B 5acb53a75db22509e3def7d0a2fa31672e50f8db6ce64052ba0b68869c706c44e810f288f08fbbba3ef5a0c78c937556a290651f172bdec4158702fc1a76a7ac SHA512 48c08f0212b8cd7847f19d381ff4412acc3eb72fc99ed3254bff770faec500f113367e8cb37740486bd18678d6862433653b549059d0545374d069d551d4b506
DIST pythia8245.tgz 23605527 BLAKE2B 1007c2f8b50a115d29fe1b0363a187feca717cb2147ef759e999aeaf51ac457e9edbbdc78be47ed57d008e572b99fb327823249b31596241ee72ff587b81c8f1 SHA512 1cc579581475bfe2381059cc4789069041fa63649c86353f65cc2baa12c85142fb6c087e1607c2004b6284a21cada30a172da9853a71afa01c787272a7534574
DIST pythia8307.tgz 26016414 BLAKE2B 0253309d71ca4e46183de80396c3a226d072ea2e8aeaf87da33994b3303017a6ca567f6731902aba43c20fec2c0aeace0728f2ce725f9221f161a70055fa6043 SHA512 63e7a3e76f8bfe0cd7b34ef523d8bbcfa50ee780c8437384ef7eb208f0f682481b0166673647db98468baeb6df855fdbf0cbb1509dcc5eda39c90f3f3461fd2a
DIST pythia8309.tgz 28407620 BLAKE2B 0ef226e2e65829952d670b57c24bff2108d916ca547233041e97dabb81d9616be3e404da7225f9cb4a2c9773c0c22939d813eaed92560e01c6fbe37e4690c232 SHA512 c7d99a9a1f7bf1441532720667ab224283b866e7f3ea9e730c839ac62e3b8b9e5c01471fb94a4a48d481635544e4ed230796a710531650bfffde96f0f78590bf
5 changes: 5 additions & 0 deletions sci-physics/pythia/metadata.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,12 @@
<use>
<flag name="fastjet">Build jets using the <pkg>sci-physics/fastjet</pkg> package</flag>
<flag name="hepmc">Adds support for High Energy Physics Monte Carlo Generators <pkg>sci-physics/hepmc</pkg></flag>
<flag name="hepmc2">Adds support for High Energy Physics Monte Carlo Generators 2 <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">Support the use of external PDF sets via <pkg>sci-physics/lhapdf</pkg></flag>
<flag name="root">Use <pkg>sci-physics/root</pkg> trees and histograms (in examples only)</flag>
</use>
<upstream>
<remote-id type="gitlab">Pythia8/releases</remote-id>
</upstream>
</pkgmetadata>
15 changes: 13 additions & 2 deletions sci-physics/pythia/pythia-6.4.28-r2.ebuild
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ MV=$(ver_cut 1)
MY_PN=${PN}${MV}
DOC_PV=0613
EX_PV=6.4.18
MY_PV=${PV//./}
PYR_P=pythia6-20160413

DESCRIPTION="Lund Monte Carlo high-energy physics event generator"
Expand All @@ -18,10 +19,11 @@ HOMEPAGE="http://pythia6.hepforge.org/"
# To produce a split version, replace the 6.4.x by the current version:
# svn export http://svn.hepforge.org/pythia6/tags/v_6_4_x/ pythia-6.4.x
# tar cJf pythia-6.4.x.tar.xz

SRC_URI="
https://dev.gentoo.org/~bicatali/distfiles/${P}.tar.xz
https://pythia.org/download/pythia6/pythia${MY_PV}-split.tgz
https://root.cern.ch/download/pythia6.tar.gz -> ${PYR_P}.tar.gz
doc? ( http://home.thep.lu.se/~torbjorn/pythia/lutp${DOC_PV}man2.pdf )
doc? ( https://pythia.org/download/pythia6/lutp${DOC_PV}man2.pdf )
examples? ( mirror://gentoo/${PN}-${EX_PV}-examples.tar.bz2 )"

SLOT="6"
Expand All @@ -31,6 +33,15 @@ IUSE="doc examples"

PATCHES=( "${FILESDIR}"/${P}-fno-common.patch )

# workaround to official pythia-split not having a pythia subdir
src_unpack() {
mkdir -p "${S}"
cd "${S}"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

|| die

unpack pythia${MY_PV}-split.tgz
cd "${WORKDIR}"
default
}

src_prepare() {
cp ../pythia6/tpythia6_called_from_cc.F .
cp ../pythia6/pythia6_common_address.c .
Expand Down
6 changes: 3 additions & 3 deletions sci-physics/pythia/pythia-8.2.45-r2.ebuild
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
# Copyright 1999-2022 Gentoo Authors
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit toolchain-funcs

MV=$(ver_cut 1)
MV=$(ver_cut 1)$(ver_cut 2)
MY_P="${PN}${PV//./}"
LHA_VER="6.1"

DESCRIPTION="Lund Monte Carlo high-energy physics event generator"
HOMEPAGE="https://pythia.org/"
SRC_URI="http://home.thep.lu.se/~torbjorn/${PN}${MV}/${MY_P}.tgz
SRC_URI="https://pythia.org/download/${PN}${MV}/${MY_P}.tgz
test? ( lhapdf? (
https://www.hepforge.org/archive/lhapdf/pdfsets/${LHA_VER}/CT10.tar.gz
https://www.hepforge.org/archive/lhapdf/pdfsets/${LHA_VER}/MRST2007lomod.tar.gz
Expand Down
188 changes: 188 additions & 0 deletions sci-physics/pythia/pythia-8.3.09.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,188 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit toolchain-funcs

MV=$(ver_cut 1-2)
MY_P="${PN}${PV//./}"
LHA_VER="6.2.1"

DESCRIPTION="Lund Monte Carlo high-energy physics event generator"
HOMEPAGE="https://pythia.org/"
SRC_URI="https://pythia.org/download/${PN}${MV//./}/${MY_P}.tgz
test? ( lhapdf? (
https://lhapdfsets.web.cern.ch/lhapdfsets/current/CT10.tar.gz
https://lhapdfsets.web.cern.ch/lhapdfsets/current/MRST2007lomod.tar.gz
https://lhapdfsets.web.cern.ch/lhapdfsets/current/NNPDF23_nlo_as_0119_qed_mc.tar.gz
https://lhapdfsets.web.cern.ch/lhapdfsets/current/NNPDF23_nnlo_as_0119_qed_mc.tar.gz
https://lhapdfsets.web.cern.ch/lhapdfsets/current/cteq66.tar.gz
https://lhapdfsets.web.cern.ch/lhapdfsets/current/cteq6l1.tar.gz
https://www.hepforge.org/downloads/lhapdf/pdfsets/v6.backup/${LHA_VER}/MRST2004qed.tar.gz
Copy link
Member

@amadio amadio Aug 4, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can the tests maybe run with the split MRST2004qed_proton MRST2004qed_neutron files? The split files are available in https://lhapdfsets.web.cern.ch/lhapdfsets/current/. In any case, shouldn't these all be installed by lhapdf itself?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I'll check where it is needed and if it works with the other ones.

) )"

SLOT="8"
LICENSE="GPL-2"
KEYWORDS="~amd64 ~x86"
IUSE="doc examples fastjet +hepmc3 hepmc2 lhapdf root test zlib"
RESTRICT="!test? ( test )"
REQUIRED_USE="
?? ( hepmc3 hepmc2 )
"

RDEPEND="
fastjet? ( sci-physics/fastjet )
hepmc3? ( sci-physics/hepmc:3= )
hepmc2? ( sci-physics/hepmc:2= )
lhapdf? ( sci-physics/lhapdf:= )
zlib? ( sys-libs/zlib )"
# ROOT is used only when building related tests
DEPEND="${RDEPEND}
test? (
root? ( sci-physics/root:= )
)"

PATCHES=(
"${FILESDIR}"/${PN}8209-root-noninteractive.patch
)

S="${WORKDIR}/${MY_P}"

pkg_pretend() {
if use root && ! use test; then
ewarn "ROOT support will only affect examples code build during test stage."
ewarn "Since you have tests disabled, this is a no-op."
fi
}

src_prepare() {
PYTHIADIR="/usr/share/Pythia8"
EPYTHIADIR="${EPREFIX}${PYTHIADIR}"

default
# set datadir for xmldor in include file
sed -i \
-e "s|../share/Pythia8/xmldoc|${EPYTHIADIR}/xmldoc|" \
include/Pythia8/Pythia.h || die
# respect libdir, prefix, flags
sed -i \
-e "s|/lib|/$(get_libdir)|g" \
-e "s|/usr|${EPREFIX}/usr|g" \
-e "s|-O2|${CXXFLAGS}|g" \
-e "s|Cint|Core|g" \
configure || die
sed -i 's|$(CXX) $^ -o $@ $(CXX_COMMON) $(CXX_SHARED)|$(CXX) $(LDFLAGS) $^ -o $@ $(CXX_COMMON) $(CXX_SHARED)|g' \
Makefile || die
sed -i 's|$(CXX)|$(CXX) $(LDFLAGS)|' examples/Makefile || die
# we use lhapdf6 instead of lhapdf5
# some PDFs changed, use something similar
sed -i \
-e "s|LHAPDF5|LHAPDF6|g" \
-e "s|\.LHgrid||g" \
-e "s|\.LHpdf||g" \
-e "s|MRST2001lo|MRST2007lomod|g" \
-e "s|cteq6ll|cteq6l1|g" \
-e "s|cteq6m|cteq66|g" \
examples/*.{cc,cmnd} || die
# After lhapdf5->6 migration PDFs are identical within ~1/1000
# https|//www.hepforge.org/archive/lhapdf/pdfsets/6.1/README
sed -i \
-e "s|1e-8|3e-1|g" \
-e "s|nlo_as_0119_qed|nlo_as_0119_qed_mc|g" \
-e "s|xmldoc|share/Pythia8/xmldoc|g" \
examples/main54.cc || die
# ask cflags from root
sed -i "s|root-config|root-config --cflags|g" examples/Makefile || die

sed -i 's|libpythia8\.a|libpythia8$(LIB_SUFFIX)|g' \
examples/Makefile || die
}

# TODO: the following optional packages are out of Gentoo tree:
# - EvtGen http://atlas-computing.web.cern.ch/atlas-computing/links/externalDirectory/EvtGen/
# - PowHEG http://powhegbox.mib.infn.it/
# - ProMC https://github.com/Argonne-National-Laboratory/ProMC/
src_configure() {
# homemade configure script
./configure \
--arch=Linux \
--cxx="$(tc-getCXX)" \
--prefix="${EPREFIX}/usr" \
--prefix-lib="${EPREFIX}/usr/$(get_libdir)" \
--prefix-share="${EPYTHIADIR}" \
$(usex fastjet "--with-fastjet3" "") \
$(usex zlib "--with-gzip" "") \
$(use_with hepmc3) \
$(use_with hepmc2) \
$(usex lhapdf "--with-lhapdf6
--with-lhapdf6-plugin=LHAPDF6.h
--with-lhapdf6-lib=${EPREFIX}/usr/$(get_libdir)" "") \
$(usex root "--with-root
--with-root-include=${EPREFIX}/usr/include/root
--with-root-lib=${EPREFIX}/usr/$(get_libdir)/root" "") \
|| die

# fix pythia config script
sed -i \
-e 's|Pythia8/examples/Makefile.inc|Pythia8/Makefile.inc|' \
-e 's|LINE%=|LINE%%=|' \
bin/pythia8-config || die
}

src_test() {
cd examples || die

local tests="$(echo main{{01..32},37,38,61,62,73,80}.out)"
use hepmc3 && tests+=" $(echo main{41,42,85,86}.out)"
use hepmc3 && use lhapdf && tests+=" $(echo main{43,{87..89}}.out)"
use lhapdf && tests+=" $(echo main{51..54}.out)"
use fastjet && tests+=" $(echo main{71,72}.out)"
use fastjet && use hepmc3 && use lhapdf && tests+=" $(echo main{81..84}).out"
use root && tests+=" main91.out"
# Disabled tests:
# 33 needs PowHEG
# 46 needs ProMC
# 48 needs EvtGen
# 92 generated ROOT dictionary is badly broken

# use emake for parallel instead of long runmains
LD_LIBRARY_PATH="${S}/$(get_libdir):${LD_LIBRARY_PATH}" \
PYTHIA8DATA="../share/Pythia8/xmldoc/" \
LHAPDF_DATA_PATH="${WORKDIR}" \
emake ${tests}
emake clean
}

src_install() {
# make install is too broken, much easier to install manually
dobin bin/pythia8-config
doheader -r include/*
dolib.so lib/libpythia8.so
use lhapdf && dolib.so lib/libpythia8lhapdf6.so
insinto "${PYTHIADIR}"
doins -r share/Pythia8/xmldoc share/Pythia8/pdfdata examples/Makefile.inc

newenvd - 99pythia8 <<- _EOF_
PYTHIA8DATA=${EPYTHIADIR}/xmldoc
_EOF_

dodoc AUTHORS GUIDELINES README
if use doc; then
dodoc -r share/Pythia8/pdfdoc/.
dodoc -r share/Pythia8/htmldoc/.
fi
if use examples; then
# reuse system Makefile.inc
rm examples/Makefile.inc || die
sed -i "s|include Makefile.inc|include ${EPYTHIADIR}|" \
examples/Makefile || die

insinto /usr/share/${PN}
doins -r examples
docompress -x /usr/share/doc/${PF}/examples
fi

# cleanup
unset PYTHIADIR EPYTHIADIR
}