aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Savchenko <bircoph@gmail.com>2015-06-05 09:00:58 +0300
committerAndrew Savchenko <bircoph@gmail.com>2015-06-05 09:00:58 +0300
commitdf2e68372078184720feba376fe71b4ccd8b861a (patch)
tree53a24c444d511f81e1d1b24acaed53ccc4a429b1 /sci-physics/pythia
parentsci-physics/pythia: fix most tests (diff)
downloadsci-df2e68372078184720feba376fe71b4ccd8b861a.tar.gz
sci-df2e68372078184720feba376fe71b4ccd8b861a.tar.bz2
sci-df2e68372078184720feba376fe71b4ccd8b861a.zip
sci-physics/pythia: fix all tests and related issues
Diffstat (limited to 'sci-physics/pythia')
-rw-r--r--sci-physics/pythia/ChangeLog5
-rw-r--r--sci-physics/pythia/Manifest7
-rw-r--r--sci-physics/pythia/files/pythia8209-root-noninteractive.patch17
-rw-r--r--sci-physics/pythia/files/pythia8209-run-tests.patch20
-rw-r--r--sci-physics/pythia/pythia-8.2.09.ebuild92
5 files changed, 112 insertions, 29 deletions
diff --git a/sci-physics/pythia/ChangeLog b/sci-physics/pythia/ChangeLog
index a284d84bb..ae20b9238 100644
--- a/sci-physics/pythia/ChangeLog
+++ b/sci-physics/pythia/ChangeLog
@@ -2,6 +2,11 @@
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/sci-physics/pythia/ChangeLog,v 1.62 2015/05/27 14:06:39 bircoph Exp $
+ 05 Jun 2015; Andrew Savchenko <bircoph@gentoo.org> pythia-8.2.09.ebuild,
+ +files/pythia8209-root-noninteractive.patch,
+ +files/pythia8209-run-tests.patch:
+ Fix all enabled tests. Allow parallel tests run. Fix pythia8-config.
+
04 Jun 2015; Andrew Savchenko <bircoph@gentoo.org> pythia-8.2.09.ebuild:
Fix some tests.
diff --git a/sci-physics/pythia/Manifest b/sci-physics/pythia/Manifest
index 517b27022..c549d37bb 100644
--- a/sci-physics/pythia/Manifest
+++ b/sci-physics/pythia/Manifest
@@ -1 +1,8 @@
+DIST CT10.tar.gz 10246366 SHA256 bcef4600c5af42d6b151b60e29297609e3604f02f5e80f8ec7767a22b185f49d SHA512 90406bd102ab54b683fa3e6f3fc759febea2454a0b96c6a8d373cdec297f5d652097057a015c7d87241792ed9b5d9ac658a33155cdd7362f59110f8f06ecce73 WHIRLPOOL a433983f9938d848a0b23f94195c41a3caf2a4a131f225f8ec27b43d7ca88761e302ed7968c66492b1fee7288e921aa7a40644833d90eeb66a139a8524553003
+DIST MRST2004qed.tar.gz 185079 SHA256 f043f5385d828523169458c01e2d82767468002789ad792d3543efacc4fcb9cd SHA512 404aacf0e241f572cc42ad4cf963deef1acd3d365fa68cfa3518878f921858046377ea39caf663fdced2cdde07af2f6ce695737f7fea229489df3d3f38283c95 WHIRLPOOL 1eb5a8c5a63005b1087ad5b39faf5ba928071ca1edb3aa9e957b43b0a32a3ddb252b75c5fd30f2e364f628583834febc6ff14984b832f2916ad06a2fcdf0d77d
+DIST MRST2007lomod.tar.gz 56685 SHA256 26533c463c17c96c467d40a0aa5603bbe657f986e05154e90782aac43f34598d SHA512 8e55627a01c85d90a62e4fb11b115c2faac2220479b6d558d3d6f1b801fc5c3e88abc377cd5437ccaeedd34b2ca42d6e833014566b796e5e1eebcf4d620e5dc0 WHIRLPOOL 16dfc110168fb3d865f3e743b4a8ce5e5995496fee53a286e82c647eff5afb7072e9d1ef8c940408c4a8184e5a9f7a190f9deea26e1b7bf227c1e5d6eaa3ff77
+DIST NNPDF23_nlo_as_0119_qed_mc.tar.gz 25223180 SHA256 61e36f3aec29e7b38d161a4ebc4978032e5e1f7af70764f6726cabdbac6283b1 SHA512 fc6998d50a61bbe65eef827021c0f453164795c079daef6a4932f825f8db4ae318bbf0e8781b61f1d3ffa9a495b5c4813af3aa31c77694657a44356d93fa970f WHIRLPOOL 31fe0ba55fac9d032441dc955a2117d42d2ab1cc697567e4b9350c4c1866982036178378a9ddeb5416ef1c2712e54cbba32dac4260fff0de07d7fc8c3a2b339d
+DIST NNPDF23_nnlo_as_0119_qed_mc.tar.gz 28940412 SHA256 4f9598322452856e165ea419ef878bb9b5d8284933cef896b7bc339d1f8ae728 SHA512 5088c30acbd1da4e412ba9f6a997ceaa34f426f41c7ebacaf4d2e8aa49b8b45052913e8d873b293d9f140c01e82c05735b66dd527a9aa124b86f73bf5e4d8c53 WHIRLPOOL 1845bb1dbd7b23389fa45af43517e36abc941d6beb2fc650462e1ef875781d0ab40186ae4f4ddfc0ed6d819be056dd11fd63e2bdf02ae1d9365892476415235c
+DIST cteq66.tar.gz 8647237 SHA256 1e1987c3b844d06bac8c205544ea1613515de2965e7e5565892acf37984a2626 SHA512 25d0fa01dcdb59d71c7092367af8258471a2bc6dfd146766cc79f90ffb0feafa0f2011d0a37a7d75315c10ba7c7a6e3fa583d9c0a28119b072228ac800294e48 WHIRLPOOL a8c34f0242fd6a2986484bf60793604a07ad0356b1fabb6350289afd4655f2eeb1953d0e558440b94ed30a7af4cd5d58d9fc07f3f06a72c3f3381094b8036321
+DIST cteq6l1.tar.gz 317834 SHA256 57c9c99d7b83c8ed1ca70480a0ec7bf2183bfa1bd9276a0e146772c5cf3bb5ac SHA512 7177608e97077eaf45a292db4ea74eb9a28b4b500ab8be02098b4837a5583cd397828abc3bf43ead448926eaa75ae3968bd059ecde333d90ed6e4295cbe1873c WHIRLPOOL cb0fff30e96dbcda1ac76550968bda22872d249d6fe14f31060aef5d1913b314365b933fb2bc57676ac5578f39ed3824cce2cd657086b4a92aa4d6e4ce037239
DIST pythia8209.tgz 14299640 SHA256 f5a98859d17c3f8dd327bb6a1d53b91155dcd42e9cdba0a28e61ec324e4d9796 SHA512 4c9a7e80ce53308c59df2a84d0e65b31199c6c6741758f129f76d1b54e39d660373bb0a94047e53d0c15c6d0f84683972f30ac17ab5abacef5918e4b8d8765db WHIRLPOOL 20722dc0b4e96c80391ee6d1372862cfb06efb388aee7b754728b7f394c304395018fe8eb26441ba5ad1a68e01a9c7efa7b3b76b2d2beaf85be70ba48b277d3c
diff --git a/sci-physics/pythia/files/pythia8209-root-noninteractive.patch b/sci-physics/pythia/files/pythia8209-root-noninteractive.patch
new file mode 100644
index 000000000..4581eaea3
--- /dev/null
+++ b/sci-physics/pythia/files/pythia8209-root-noninteractive.patch
@@ -0,0 +1,17 @@
+--- pythia8209/examples/main91.cc.orig 2015-06-05 07:44:27.000000000 +0300
++++ pythia8209/examples/main91.cc 2015-06-05 08:17:22.477228166 +0300
+@@ -62,13 +62,9 @@
+ // Statistics on event generation.
+ pythia.stat();
+
+- // Show histogram. Possibility to close it.
+- mult->Draw();
+- std::cout << "\nDouble click on the histogram window to quit.\n";
+- gPad->WaitPrimitive();
+-
+ // Save histogram on file and close file.
+ mult->Write();
++ outFile->Close();
+ delete outFile;
+
+ // Done.
diff --git a/sci-physics/pythia/files/pythia8209-run-tests.patch b/sci-physics/pythia/files/pythia8209-run-tests.patch
new file mode 100644
index 000000000..d1edc8393
--- /dev/null
+++ b/sci-physics/pythia/files/pythia8209-run-tests.patch
@@ -0,0 +1,20 @@
+--- pythia8209/examples/Makefile.orig 2015-06-04 22:21:53.000000000 +0300
++++ pythia8209/examples/Makefile 2015-06-05 05:35:25.324262331 +0300
+@@ -139,3 +139,17 @@
+ rm -f test[0-9][0-9][0-9]; rm -f out[0-9][0-9][0-9];\
+ rm -f weakbosons.lhe; rm -f Pythia8.promc; rm -f hist.root;\
+ rm -f *~; rm -f \#*; rm -f core*; rm -f *Dct.*
++ rm -f main*out *.dat
++
++# Run tests, inject test-specific arguments when needed
++main%.out: main%
++ ./$< \
++ $(if $(findstring $*,16 42 43 $(shell seq 81 89)), main$*.cmnd) \
++ $(if $(findstring $*, $(shell seq 81 83)), w+_production_lhc_0.lhe) \
++ $(if $(findstring $*, 84), hepmcout84.dat 2 w+_production_lhc) \
++ $(if $(findstring $*, $(shell seq 85 88)), w_production) \
++ $(if $(findstring $*, 42 43 $(shell seq 81 89)), histout$*.dat) \
++ > $@
++
++main89.out: main89
++ $(foreach cmd, $(wildcard main89*.cmnd), ./$< $(cmd) histout-$(cmd).dat >> $@ || exit;)
diff --git a/sci-physics/pythia/pythia-8.2.09.ebuild b/sci-physics/pythia/pythia-8.2.09.ebuild
index 61b8435b6..b112f9a78 100644
--- a/sci-physics/pythia/pythia-8.2.09.ebuild
+++ b/sci-physics/pythia/pythia-8.2.09.ebuild
@@ -4,14 +4,24 @@
EAPI=5
-inherit eutils versionator toolchain-funcs multilib
+inherit eutils multilib toolchain-funcs versionator
MV=$(get_major_version)
MY_P=${PN}$(replace_all_version_separators "" ${PV})
+LHA_VER="6.1"
DESCRIPTION="Lund Monte Carlo high-energy physics event generator"
HOMEPAGE="http://pythia8.hepforge.org/"
-SRC_URI="http://home.thep.lu.se/~torbjorn/${PN}${MV}/${MY_P}.tgz"
+SRC_URI="http://home.thep.lu.se/~torbjorn/${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
+ https://www.hepforge.org/archive/lhapdf/pdfsets/${LHA_VER}/NNPDF23_nlo_as_0119_qed_mc.tar.gz
+ https://www.hepforge.org/archive/lhapdf/pdfsets/${LHA_VER}/NNPDF23_nnlo_as_0119_qed_mc.tar.gz
+ https://www.hepforge.org/archive/lhapdf/pdfsets/${LHA_VER}/cteq66.tar.gz
+ https://www.hepforge.org/archive/lhapdf/pdfsets/${LHA_VER}/cteq6l1.tar.gz
+ https://www.hepforge.org/archive/lhapdf/pdfsets/${LHA_VER}/unvalidated/MRST2004qed.tar.gz
+ ) )"
SLOT="8"
LICENSE="GPL-2"
@@ -31,11 +41,19 @@ DEPEND="${RDEPEND}
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="${EPREFIX}/usr/share/pythia8"
+ PYTHIADIR="/usr/share/pythia8"
+ EPYTHIADIR="${EPREFIX}${PYTHIADIR}"
# set datadir for xmldor in include file
sed -i \
- -e "s:../share/Pythia8/xmldoc:${PYTHIADIR}/xmldoc:" \
+ -e "s:../share/Pythia8/xmldoc:${EPYTHIADIR}/xmldoc:" \
include/Pythia8/Pythia.h || die
# respect libdir, prefix, flags
sed -i \
@@ -45,11 +63,23 @@ src_prepare() {
-e "s:Cint:Core:g" \
configure || 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
# if ! use static-libs; then
@@ -61,6 +91,9 @@ src_prepare() {
# -e 's:\.a:\.so:g' \
# examples/Makefile || die
# fi
+
+ epatch "${FILESDIR}/${PN}8209-run-tests.patch"
+ epatch "${FILESDIR}/${PN}8209-root-noninteractive.patch"
}
# TODO: the following optional packages are out of Gentoo tree:
@@ -75,7 +108,7 @@ src_configure() {
--enable-shared \
--prefix="${EPREFIX}/usr" \
--prefix-lib="$(get_libdir)" \
- --prefix-share="${PYTHIADIR}" \
+ --prefix-share="${EPYTHIADIR}" \
$(usex fastjet "--with-fastjet3" "") \
$(usex gzip "--with-gzip" "") \
$(usex hepmc "--with-hepmc2" "") \
@@ -86,40 +119,36 @@ src_configure() {
--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,51,52,54,61,62,73,80})" t
- use hepmc && tests+=" $(echo main{41,42,85,86})"
- use hepmc && use lhapdf && tests+=" $(echo main{43,{87..89}})"
- use lhapdf && tests+=" $(echo main{51..54})"
- use fastjet && tests+=" $(echo main{71,72})"
- use fastjet && use hepmc && use lhapdf && tests+=" $(echo main{81..84})"
- use root && tests+=" main91"
+ local tests="$(echo main{{01..32},37,38,61,62,73,80}.out)"
+ use hepmc && tests+=" $(echo main{41,42,85,86}.out)"
+ use hepmc && 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 hepmc && 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
- # some tests need arguments
- local -a args
- args[16]="main16.cmnd"
- args[42]="main42.cmnd hepmcout42.dat"
- args[43]="main43.cmnd hepmcout43.dat"
-
# 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}
- for t in ${tests}; do
- einfo "Running test ${t}..."
- LD_LIBRARY_PATH="${S}/$(get_libdir):${LD_LIBRARY_PATH}" \
- PYTHIA8DATA="../share/Pythia8/xmldoc/" \
- ./"${t}" ${args[t]} > "${t}.out" || die "test ${t} failed"
- done
emake clean
- rm main*.out *.dat || die
}
src_install() {
@@ -127,10 +156,10 @@ src_install() {
dobin bin/pythia8-config
doheader -r include/*
dolib lib/*
- insinto "/usr/share/pythia8"
- doins -r share/Pythia8/xmldoc
+ insinto "${PYTHIADIR}"
+ doins -r share/Pythia8/xmldoc examples/Makefile.inc
- echo "PYTHIA8DATA=${PYTHIADIR}/xmldoc" >> 99pythia8
+ echo "PYTHIA8DATA=${EPYTHIADIR}/xmldoc" >> 99pythia8
doenvd 99pythia8
dodoc AUTHORS GUIDELINES README
@@ -139,11 +168,16 @@ src_install() {
dohtml -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/doc/${PF}
doins -r examples
docompress -x /usr/share/doc/${PF}/examples
fi
# cleanup
- unset PYTHIADIR
+ unset PYTHIADIR EPYTHIADIR
}