# 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 ) )" S="${WORKDIR}/${MY_P}" LICENSE="GPL-3" 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 ) " 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. "${FILESDIR}"/${PN}-2.3.0-functional.patch # https://bugs.gentoo.org/941477 ) 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 }