# Copyright 2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 PYTHON_COMPAT=( python3_{9..11} ) inherit fortran-2 python-single-r1 scons-utils MY_P=OpenLoops-${PV} DESCRIPTION="Evaluation of tree and one-loop matrix elements for any Standard Model." HOMEPAGE="https://openloops.hepforge.org/index.html" SRC_URI="https://openloops.hepforge.org/downloads?f=${MY_P}.tar.gz -> ${MY_P}.tar.gz" S="${WORKDIR}/${MY_P}" LICENSE="GPL-3+" SLOT="0" KEYWORDS="~amd64" IUSE="+collier +cuttools +extra" DEPEND=" sci-physics/qcdloop sci-physics/oneloop[dpkind,qpkind16,-qpkind,-cppintf,-kind_types] collier? ( sci-physics/collier ) cuttools? ( sci-physics/cuttools[dummy] ) " RDEPEND="${DEPEND}" BDEPEND="" src_prepare() { default mv openloops.cfg.tmpl openloops.cfg sed -i "s|#gfortran_f_flags.*|gfortran_f_flags = -I${ESYSROOT}/usr/include/ -I${ESYSROOT}/usr/include/cuttools -lcollier|" openloops.cfg || die use extra && sed -i "s|#compile_extra.*|compile_extra = 1|" openloops.cfg || die sed -i "s|#link_flags.*|link_flags = -I${ESYSROOT}/usr/include/ -I${ESYSROOT}/usr/include/cuttools -lcollier|" openloops.cfg || die sed -i 's/#compile_libraries.*/compile_libraries = rambo trred/' openloops.cfg || die sed -i "s|scons -Q|scons -Q -C /opt/${MY_P}/|g" openloops || die echo "link_libraries = $(usev collier) $(usev cuttools)" >> openloops.cfg || die echo "process_src_dir = /opt/${MY_P}/process_src/" >> openloops.cfg || die echo "process_obj_dir = /opt/${MY_P}/process_obj/" >> openloops.cfg || die echo "process_lib_dir = /opt/${MY_P}/proclib/" >> openloops.cfg || die } src_compile() { escons --cache-disable } src_install() { dosym ../opt/${MY_P} /opt/OpenLoops2 dobin openloops cd include doheader openloops.h cd ../lib dolib.so libolcommon.so libopenloops.so librambo.so libtrred.so cd ../lib_src/olcommon/mod doheader *.mod cd ../../openloops/mod doheader *.mod cd ../../rambo/mod doheader *.mod cd ../../trred/mod doheader *.mod cd "${S}" dodir /opt/${MY_P} insinto /opt/${MY_P} doins openloops.cfg SConstruct doins -r pyol fperms -R a=u /opt/${MY_P} fperms a=u /opt/${MY_P} } pkg_postinst() { elog "Install processes with openloops libinstall." elog "They are installed in /opt/${MY_P}/proclib." }