aboutsummaryrefslogtreecommitdiff
blob: 79f0efccd5c1fe7502e0a2ab2cf7a70ecf8d2709 (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
# Copyright 2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

PYTHON_COMPAT=( python3_{10..13} )

inherit cmake fortran-2 python-single-r1

MY_PN="SHERPA-MC"
MY_PV=${PV//_/}
MY_P=${MY_PN}-${MY_PV}

DESCRIPTION="Simulation of High-Energy Reactions of PArticles"
HOMEPAGE="
	https://sherpa-team.gitlab.io/
	https://gitlab.com/sherpa-team/sherpa
"

if [[ ${PV} == 9999 ]]; then
	inherit git-r3
	EGIT_REPO_URI="https://gitlab.com/sherpa-team/sherpa"
	EGIT_BRANCH="master"
else
	#SRC_URI="https://www.hepforge.org/archive/sherpa/${MY_P}.tar.gz"
	SRC_URI="https://gitlab.com/sherpa-team/${PN}/-/archive/v${MY_PV}/${PN}-v${MY_PV}.tar.bz2"
	S="${WORKDIR}/${PN}-v${MY_PV}"
	KEYWORDS="~amd64"
fi

LICENSE="GPL-3"
SLOT="0"

IUSE="+fastjet +pythia6 pythia8 rivet ufo hepmc2 root gzip mpi lhole analysis openloops" # blackhat recola gosam hztool madloop pgs mcfm
REQUIRED_USE="
	ufo? ( ${PYTHON_REQUIRED_USE} )
"

DEPEND="
	sci-physics/lhapdf
	dev-db/sqlite:3=
	sci-physics/hepmc:3=
	dev-libs/libzip
	rivet? ( sci-physics/rivet )
	gzip? ( app-arch/gzip )
	pythia8? ( sci-physics/pythia:8= )
	hepmc2?  ( sci-physics/hepmc:2= )
	fastjet? ( sci-physics/fastjet )
	root? ( sci-physics/root )
	mpi? ( virtual/mpi[cxx,fortran] )
	ufo? ( ${PYTHON_DEPS} )
	openloops? ( sci-physics/openloops )
"
#	blackhat? ( sci-physics/blackhat )
#	gosam? ( sci-physics/gosam )
#	recola? ( sci-physics/recola )
RDEPEND="${DEPEND}"

pkg_setup() {
	use ufo && python-single-r1_pkg_setup
}

src_configure() {
	local mycmakeargs=(
		-DSHERPA_ENABLE_THREADING=ON
		-DSHERPA_ENABLE_ANALYSIS=$(usex analysis ON OFF)
		-DSHERPA_ENABLE_GZIP=$(usex gzip ON OFF)
		-DSHERPA_ENABLE_HEPMC2=$(usex hepmc2 ON OFF)
		-DSHERPA_ENABLE_HEPMC3=ON
		-DSHERPA_ENABLE_LHAPDF=ON
		-DSHERPA_ENABLE_LHOLE=$(usex lhole ON OFF)
		-DSHERPA_ENABLE_MPI=$(usex mpi ON OFF)
		$(usex mpi -DCMAKE_C_COMPILER=mpicc)
		$(usex mpi -DCMAKE_CXX_COMPILER=mpic++)
		$(usex mpi -DCMAKE_Fortran_COMPILER=mpif90)
		-DSHERPA_ENABLE_PYTHIA6=$(usex pythia6 ON OFF)
		-DSHERPA_ENABLE_PYTHIA8=$(usex pythia8 ON OFF)
		-DSHERPA_ENABLE_RIVET=$(usex rivet ON OFF)
		-DSHERPA_ENABLE_ROOT=$(usex root ON OFF)
		-DSHERPA_ENABLE_UFO=$(usex ufo ON OFF)
		-DSHERPA_ENABLE_OPENLOOPS=$(usex openloops ON OFF)
		-DOPENLOOPS_PREFIX=$(usex openloops "${ESYSROOT}/opt/OpenLoops2")
		#-DSHERPA_ENABLE_GOSAM=$(usex gosam ON OFF)
		#-DSHERPA_ENABLE_BLACKHAT=$(usex blackhat ON OFF)
		#-DSHERPA_ENABLE_RECOLA=$(usex recola ON OFF)
	)
	cmake_src_configure
}

src_install() {
	cmake_src_install

	use ufo && python_optimize
}