summaryrefslogtreecommitdiff
blob: 6d4e9927f49d93fd3da90c941caa0cba903bb61b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=5

AUTOTOOLS_AUTORECONF=1
AUTOTOOLS_IN_SOURCE_BUILD=1

inherit autotools-utils elisp-common eutils java-pkg-opt-2

MYP=ThePEG-${PV}

DESCRIPTION="Toolkit for High Energy Physics Event Generation"
HOMEPAGE="http://home.thep.lu.se/ThePEG/"

TEST_URI="http://www.hepforge.org/archive/lhapdf/pdfsets/current"
SRC_URI="http://www.hepforge.org/archive/thepeg/${MYP}.tar.bz2
	test? ( hepmc? (
	   ${TEST_URI}/cteq6ll.LHpdf
	   ${TEST_URI}/cteq5l.LHgrid
	   ${TEST_URI}/GRV98nlo.LHgrid
	   ${TEST_URI}/MRST2001nlo.LHgrid ) )"
LICENSE="GPL-2"

SLOT="0/20"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="c++11 emacs fastjet hepmc java lhapdf rivet static-libs test zlib"
RESTRICT="!test? ( test )"

RDEPEND="
	sci-libs/gsl:0=
	emacs? ( >=app-editors/emacs-23.1:* )
	fastjet? ( sci-physics/fastjet:0= )
	hepmc? ( sci-physics/hepmc:0= )
	java? ( >=virtual/jre-1.5:* )
	lhapdf? ( sci-physics/lhapdf:0= )
	rivet? ( sci-physics/rivet:0= )
	zlib? ( sys-libs/zlib:0= )"
DEPEND="${RDEPEND}
	test? ( sys-process/time )"

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

PATCHES=( "${FILESDIR}"/${PN}-1.8.3-java.patch )

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
	autotools-utils_src_prepare
	java-pkg-opt-2_src_prepare
}

src_configure() {
	local myeconfargs=(
		$(use_enable c++11 stdcxx11)
		$(use_with fastjet fastjet "${EPREFIX}"/usr)
		$(use_with hepmc hepmc "${EPREFIX}"/usr)
		$(use_with java javagui)
		$(use_with lhapdf lhapdf "${EPREFIX}"/usr)
		$(use_with rivet rivet "${EPREFIX}"/usr)
		$(use_with zlib zlib "${EPREFIX}"/usr)
	)
	autotools-utils_src_configure
}

src_compile() {
	autotools-utils_src_compile
	use emacs && elisp-compile lib/ThePEG.el
}

src_test() {
	emake LHAPATH="${DISTDIR}" -C "${BUILD_DIR}" check
}

src_install() {
	autotools-utils_src_install
	use emacs && elisp-install ${PN} lib/ThePEG.el{,c}
	use java && java-pkg_newjar java/ThePEG.jar

	cat <<-EOF > "${T}"/50${PN}
	LDPATH="${EPREFIX}/usr/$(get_libdir)/ThePEG"
	EOF
	doenvd "${T}"/50${PN}
}

pkg_postinst() {
	use emacs && elisp-site-regen
}

pkg_postrm() {
	use emacs && elisp-site-regen
}