93 lines
2.5 KiB
Bash
93 lines
2.5 KiB
Bash
# Copyright 1999-2012 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
# $Header: /var/cvsroot/gentoo-x86/sci-physics/pythia/pythia-8.1.45.ebuild,v 1.10 2012/10/16 18:54:19 jlec Exp $
|
|
|
|
EAPI=2
|
|
|
|
inherit eutils fortran-2 versionator
|
|
|
|
MV=$(get_major_version)
|
|
MY_P=${PN}$(replace_all_version_separators "" ${PV})
|
|
|
|
DESCRIPTION="Lund Monte Carlo high-energy physics event generator"
|
|
HOMEPAGE="http://home.thep.lu.se/~torbjorn/Pythia.html"
|
|
SRC_URI="http://home.thep.lu.se/~torbjorn/${PN}${MV}/${MY_P}.tgz"
|
|
|
|
SLOT="8"
|
|
LICENSE="GPL-2"
|
|
KEYWORDS="amd64 x86"
|
|
IUSE="doc examples +hepmc static-libs"
|
|
|
|
DEPEND="hepmc? ( sci-physics/hepmc )"
|
|
RDEPEND="${DEPEND}"
|
|
|
|
S="${WORKDIR}/${MY_P}"
|
|
|
|
src_configure() {
|
|
use hepmc && export HEPMCVERSION=2 HEPMCLOCATION=/usr
|
|
# homemade configure script creates a useless config.mk
|
|
rm -f config.mk
|
|
cat > config.mk <<-EOF
|
|
SHAREDLIBS = yes
|
|
LDFLAGSSHARED = -shared ${LDFLAGS}
|
|
LDFLAGLIBNAME = -Wl,-soname
|
|
SHAREDSUFFIX = so
|
|
EOF
|
|
if ! use static-libs; then
|
|
sed -i \
|
|
-e '/targets.*\.a/d' \
|
|
-e 's/+=\(.*libpythia8\)/=\1/' \
|
|
Makefile || die
|
|
sed -i \
|
|
-e 's:\.a:\.so:g' \
|
|
-e 's:$(LIBDIRARCH):$(LIBDIR):g' \
|
|
examples/Makefile || die
|
|
fi
|
|
}
|
|
|
|
src_test() {
|
|
cd "${S}"/examples
|
|
# use emake for parallel instead of long runmains
|
|
emake \
|
|
$(ls main0{1..9}*.cc | sed -e 's/.cc//') \
|
|
|| die "emake tests failed"
|
|
for i in main0{1..9}*.exe; do
|
|
LD_LIBRARY_PATH="${S}/lib:${LD_LIBRARY_PATH}" \
|
|
./${i} > ${i}.out || die "test ${i} failed"
|
|
done
|
|
if use hepmc; then
|
|
emake main31 main32 || die "emake tests for hepmc failed"
|
|
LD_LIBRARY_PATH="${S}/lib:${LD_LIBRARY_PATH}" \
|
|
./main31.exe > main31.exe.out || die
|
|
LD_LIBRARY_PATH="${S}/lib:${LD_LIBRARY_PATH}" \
|
|
./main32.exe main32.cmnd hepmcout32.dat > main32.exe.out || die
|
|
fi
|
|
emake clean && rm -f main*out
|
|
}
|
|
|
|
src_install() {
|
|
dolib.so lib/*so || die "shared lib install failed"
|
|
if use static-libs; then
|
|
dolib.a lib/archive/* || die "static lib install failed"
|
|
fi
|
|
|
|
insinto /usr/include/${PN}
|
|
doins include/* || die "headers install failed"
|
|
|
|
# xmldoc needed by root
|
|
insinto /usr/share/${PN}
|
|
doins -r xmldoc || die "xmldoc install failed"
|
|
echo PYTHIA8DATA=/usr/share/${PN}/xmldoc >> 99pythia8
|
|
doenvd 99pythia8
|
|
|
|
insinto /usr/share/doc/${PF}
|
|
dodoc GUIDELINES AUTHORS README
|
|
if use doc; then
|
|
doins worksheet.pdf || die "doc install failed"
|
|
mv htmldoc html
|
|
doins -r html || die "html doc install failed"
|
|
fi
|
|
if use examples; then
|
|
doins -r examples || die "examples install failed"
|
|
fi
|
|
}
|