diff options
Diffstat (limited to 'sci-physics/thepeg/thepeg-2.3.0.ebuild')
-rw-r--r-- | sci-physics/thepeg/thepeg-2.3.0.ebuild | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/sci-physics/thepeg/thepeg-2.3.0.ebuild b/sci-physics/thepeg/thepeg-2.3.0.ebuild new file mode 100644 index 000000000000..22285ae6bf08 --- /dev/null +++ b/sci-physics/thepeg/thepeg-2.3.0.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools elisp-common java-pkg-opt-2 + +MY_P=ThePEG-${PV} + +DESCRIPTION="Toolkit for High Energy Physics Event Generation" +HOMEPAGE=" + http://home.thep.lu.se/ThePEG/ + https://thepeg.hepforge.org/ +" + +TEST_URI="https://www.hepforge.org/archive/lhapdf/pdfsets/current" +SRC_URI="https://www.hepforge.org/archive/thepeg/${MY_P}.tar.bz2 + test? ( + hepmc3? ( + ${TEST_URI}/cteq6ll.LHpdf + ${TEST_URI}/cteq5l.LHgrid + ${TEST_URI}/GRV98nlo.LHgrid + ${TEST_URI}/MRST2001nlo.LHgrid ) + )" + +LICENSE="GPL-2" +SLOT="0/30" +KEYWORDS="~amd64" +IUSE="emacs fastjet +hepmc3 lhapdf static-libs test zlib rivet" +RESTRICT="!test? ( test )" + +CDEPEND=" + sci-libs/gsl:0= + emacs? ( >=app-editors/emacs-23.1:* ) + fastjet? ( sci-physics/fastjet:0= ) + rivet? ( sci-physics/rivet:3=[hepmc3] ) + hepmc3? ( sci-physics/hepmc:3= ) + lhapdf? ( >=sci-physics/lhapdf-6.0:0= ) + zlib? ( sys-libs/zlib:0= )" +DEPEND="${CDEPEND} + sci-libs/gsl:= + java? ( virtual/jdk:1.8 ) + test? ( + sys-process/time + dev-libs/boost + )" +RDEPEND="${CDEPEND} + java? ( virtual/jre:1.8 ) +" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( + "${FILESDIR}"/${PN}-1.8.3-java.patch + "${FILESDIR}"/${PN}-2.0.4-gcc6.patch + "${FILESDIR}"/${PN}-2.3.0-rivet.patch # properly support rivet/yoda weights in thepeg, reported to upstream by mail. +) + +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 + default + java-pkg-opt-2_src_prepare + eautoreconf +} + +src_configure() { + local -x CONFIG_SHELL=/bin/bash + econf \ + $(use_enable static-libs static) \ + $(use_with fastjet fastjet "${ESYSROOT}"/usr) \ + $(use_with hepmc3 hepmc "${ESYSROOT}"/usr) \ + $(use_with hepmc3 hepmcversion 3) \ + $(use_with java javagui) \ + $(use_with lhapdf lhapdf "${ESYSROOT}"/usr) \ + $(use_with test boost "${ESYSROOT}"/usr) \ + $(use_with rivet rivet "${ESYSROOT}"/usr) \ + $(use_with zlib zlib "${ESYSROOT}"/usr) +} + +src_compile() { + default + use emacs && elisp-compile lib/ThePEG.el +} + +src_test() { + emake LHAPATH="${DISTDIR}" check +} + +src_install() { + default + use emacs && elisp-install ${PN} lib/ThePEG.el{,c} + use java && java-pkg_newjar java/ThePEG.jar + + cat <<-EOF > "${T}"/50${PN} || die + LDPATH="${EPREFIX}/usr/$(get_libdir)/ThePEG" + EOF + doenvd "${T}"/50${PN} + + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} |