| 5 |
5 |
|
| 6 |
6 |
inherit toolchain-funcs
|
| 7 |
7 |
|
| 8 |
|
MV=$(ver_cut 1)$(ver_cut 2)
|
|
8 |
MV=$(ver_cut 1-2)
|
| 9 |
9 |
MY_P="${PN}${PV//./}"
|
| 10 |
|
LHA_VER="6.1"
|
|
10 |
LHA_VER="6.2.1"
|
| 11 |
11 |
|
| 12 |
12 |
DESCRIPTION="Lund Monte Carlo high-energy physics event generator"
|
| 13 |
13 |
HOMEPAGE="https://pythia.org/"
|
| 14 |
|
SRC_URI="https://pythia.org/download/${PN}${MV}/${MY_P}.tgz
|
|
14 |
SRC_URI="https://pythia.org/download/${PN}${MV//./}/${MY_P}.tgz
|
| 15 |
15 |
test? ( lhapdf? (
|
| 16 |
|
https://www.hepforge.org/archive/lhapdf/pdfsets/${LHA_VER}/CT10.tar.gz
|
| 17 |
|
https://www.hepforge.org/archive/lhapdf/pdfsets/${LHA_VER}/MRST2007lomod.tar.gz
|
| 18 |
|
https://www.hepforge.org/archive/lhapdf/pdfsets/${LHA_VER}/NNPDF23_nlo_as_0119_qed_mc.tar.gz
|
| 19 |
|
https://www.hepforge.org/archive/lhapdf/pdfsets/${LHA_VER}/NNPDF23_nnlo_as_0119_qed_mc.tar.gz
|
| 20 |
|
https://www.hepforge.org/archive/lhapdf/pdfsets/${LHA_VER}/cteq66.tar.gz
|
| 21 |
|
https://www.hepforge.org/archive/lhapdf/pdfsets/${LHA_VER}/cteq6l1.tar.gz
|
| 22 |
|
https://www.hepforge.org/archive/lhapdf/pdfsets/${LHA_VER}/unvalidated/MRST2004qed.tar.gz
|
|
16 |
https://lhapdfsets.web.cern.ch/lhapdfsets/current/CT10.tar.gz
|
|
17 |
https://lhapdfsets.web.cern.ch/lhapdfsets/current/MRST2007lomod.tar.gz
|
|
18 |
https://lhapdfsets.web.cern.ch/lhapdfsets/current/NNPDF23_nlo_as_0119_qed_mc.tar.gz
|
|
19 |
https://lhapdfsets.web.cern.ch/lhapdfsets/current/NNPDF23_nnlo_as_0119_qed_mc.tar.gz
|
|
20 |
https://lhapdfsets.web.cern.ch/lhapdfsets/current/cteq66.tar.gz
|
|
21 |
https://lhapdfsets.web.cern.ch/lhapdfsets/current/cteq6l1.tar.gz
|
|
22 |
https://www.hepforge.org/downloads/lhapdf/pdfsets/v6.backup/${LHA_VER}/MRST2004qed.tar.gz
|
| 23 |
23 |
) )"
|
| 24 |
24 |
|
| 25 |
25 |
SLOT="8"
|
| 26 |
26 |
LICENSE="GPL-2"
|
| 27 |
|
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
|
| 28 |
|
IUSE="doc examples fastjet +hepmc lhapdf root test zlib"
|
|
27 |
KEYWORDS="~amd64 ~x86"
|
|
28 |
IUSE="doc examples fastjet +hepmc3 hepmc2 lhapdf root test zlib"
|
| 29 |
29 |
RESTRICT="!test? ( test )"
|
|
30 |
REQUIRED_USE="
|
|
31 |
?? ( hepmc3 hepmc2 )
|
|
32 |
"
|
| 30 |
33 |
|
| 31 |
34 |
RDEPEND="
|
| 32 |
35 |
fastjet? ( sci-physics/fastjet )
|
| 33 |
|
hepmc? ( sci-physics/hepmc:2= )
|
|
36 |
hepmc3? ( sci-physics/hepmc:3= )
|
|
37 |
hepmc2? ( sci-physics/hepmc:2= )
|
| 34 |
38 |
lhapdf? ( sci-physics/lhapdf:= )
|
| 35 |
39 |
zlib? ( sys-libs/zlib )"
|
| 36 |
40 |
# ROOT is used only when building related tests
|
| ... | ... | |
| 53 |
57 |
}
|
| 54 |
58 |
|
| 55 |
59 |
src_prepare() {
|
| 56 |
|
PYTHIADIR="/usr/share/pythia8"
|
|
60 |
PYTHIADIR="/usr/share/Pythia8"
|
| 57 |
61 |
EPYTHIADIR="${EPREFIX}${PYTHIADIR}"
|
| 58 |
62 |
|
| 59 |
63 |
default
|
| ... | ... | |
| 91 |
95 |
# ask cflags from root
|
| 92 |
96 |
sed -i "s|root-config|root-config --cflags|g" examples/Makefile || die
|
| 93 |
97 |
|
| 94 |
|
sed -i \
|
| 95 |
|
-e '/TARGETS=$(LOCAL_LIB)\/libpythia8\.a/d' \
|
| 96 |
|
-e 's|libpythia8\.a$|libpythia8$(LIB_SUFFIX)|g' \
|
| 97 |
|
Makefile || die
|
| 98 |
98 |
sed -i 's|libpythia8\.a|libpythia8$(LIB_SUFFIX)|g' \
|
| 99 |
99 |
examples/Makefile || die
|
| 100 |
100 |
}
|
| ... | ... | |
| 108 |
108 |
./configure \
|
| 109 |
109 |
--arch=Linux \
|
| 110 |
110 |
--cxx="$(tc-getCXX)" \
|
| 111 |
|
--enable-shared \
|
| 112 |
111 |
--prefix="${EPREFIX}/usr" \
|
| 113 |
|
--prefix-lib="$(get_libdir)" \
|
|
112 |
--prefix-lib="${EPREFIX}/usr/$(get_libdir)" \
|
| 114 |
113 |
--prefix-share="${EPYTHIADIR}" \
|
| 115 |
114 |
$(usex fastjet "--with-fastjet3" "") \
|
| 116 |
115 |
$(usex zlib "--with-gzip" "") \
|
| 117 |
|
$(usex hepmc "--with-hepmc2" "") \
|
|
116 |
$(use_with hepmc3) \
|
|
117 |
$(use_with hepmc2) \
|
| 118 |
118 |
$(usex lhapdf "--with-lhapdf6
|
| 119 |
119 |
--with-lhapdf6-plugin=LHAPDF6.h
|
| 120 |
120 |
--with-lhapdf6-lib=${EPREFIX}/usr/$(get_libdir)" "") \
|
| ... | ... | |
| 125 |
125 |
|
| 126 |
126 |
# fix pythia config script
|
| 127 |
127 |
sed -i \
|
| 128 |
|
-e 's|pythia8/examples/Makefile.inc|pythia8/Makefile.inc|' \
|
|
128 |
-e 's|Pythia8/examples/Makefile.inc|Pythia8/Makefile.inc|' \
|
| 129 |
129 |
-e 's|LINE%=|LINE%%=|' \
|
| 130 |
130 |
bin/pythia8-config || die
|
| 131 |
131 |
}
|
| ... | ... | |
| 134 |
134 |
cd examples || die
|
| 135 |
135 |
|
| 136 |
136 |
local tests="$(echo main{{01..32},37,38,61,62,73,80}.out)"
|
| 137 |
|
use hepmc && tests+=" $(echo main{41,42,85,86}.out)"
|
| 138 |
|
use hepmc && use lhapdf && tests+=" $(echo main{43,{87..89}}.out)"
|
|
137 |
use hepmc3 && tests+=" $(echo main{41,42,85,86}.out)"
|
|
138 |
use hepmc3 && use lhapdf && tests+=" $(echo main{43,{87..89}}.out)"
|
| 139 |
139 |
use lhapdf && tests+=" $(echo main{51..54}.out)"
|
| 140 |
140 |
use fastjet && tests+=" $(echo main{71,72}.out)"
|
| 141 |
|
use fastjet && use hepmc && use lhapdf && tests+=" $(echo main{81..84}).out"
|
|
141 |
use fastjet && use hepmc3 && use lhapdf && tests+=" $(echo main{81..84}).out"
|
| 142 |
142 |
use root && tests+=" main91.out"
|
| 143 |
143 |
# Disabled tests:
|
| 144 |
144 |
# 33 needs PowHEG
|
| ... | ... | |
| 161 |
161 |
dolib.so lib/libpythia8.so
|
| 162 |
162 |
use lhapdf && dolib.so lib/libpythia8lhapdf6.so
|
| 163 |
163 |
insinto "${PYTHIADIR}"
|
| 164 |
|
doins -r share/Pythia8/xmldoc examples/Makefile.inc
|
|
164 |
doins -r share/Pythia8/xmldoc share/Pythia8/pdfdata examples/Makefile.inc
|
| 165 |
165 |
|
| 166 |
166 |
newenvd - 99pythia8 <<- _EOF_
|
| 167 |
167 |
PYTHIA8DATA=${EPYTHIADIR}/xmldoc
|