Gentoo Archives: gentoo-commits

From: Andrew Ammerlaan <andrewammerlaan@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/sci:master commit in: sci-physics/mcfm/, sci-physics/mcfm/files/
Date: Thu, 03 Nov 2022 12:51:39
Message-Id: 1667479880.575b375e66ebbd2fe5999523f52f4c77f6294d4b.andrewammerlaan@gentoo
1 commit: 575b375e66ebbd2fe5999523f52f4c77f6294d4b
2 Author: Alexander Puck Neuwirth <alexander <AT> neuwirth-informatik <DOT> de>
3 AuthorDate: Wed Nov 2 12:17:38 2022 +0000
4 Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
5 CommitDate: Thu Nov 3 12:51:20 2022 +0000
6 URL: https://gitweb.gentoo.org/proj/sci.git/commit/?id=575b375e
7
8 sci-physics/mcfm: new package, add 10.2.1
9
10 Signed-off-by: Alexander Puck Neuwirth <alexander <AT> neuwirth-informatik.de>
11 Closes: https://github.com/gentoo/sci/pull/1181
12 Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
13
14 sci-physics/mcfm/files/mcfm-10.2.1-rest.patch | 251 ++++++++++++++++++++++++++
15 sci-physics/mcfm/mcfm-10.2.1.ebuild | 71 ++++++++
16 sci-physics/mcfm/metadata.xml | 15 ++
17 3 files changed, 337 insertions(+)
18
19 diff --git a/sci-physics/mcfm/files/mcfm-10.2.1-rest.patch b/sci-physics/mcfm/files/mcfm-10.2.1-rest.patch
20 new file mode 100644
21 index 000000000..f43a1cb48
22 --- /dev/null
23 +++ b/sci-physics/mcfm/files/mcfm-10.2.1-rest.patch
24 @@ -0,0 +1,251 @@
25 +--- a/CMakeLists.txt 2022-09-19 02:30:49.215050000 +0200
26 ++++ b/CMakeLists.txt 2022-09-19 21:03:05.409746266 +0200
27 +@@ -41,48 +41,48 @@
28 +
29 + include(ExternalProject)
30 +
31 +-ExternalProject_Add(qd
32 +- DOWNLOAD_COMMAND mkdir -p ${CMAKE_BINARY_DIR}/lib && cp -r ${CMAKE_SOURCE_DIR}/lib/qd-2.3.22 ${CMAKE_BINARY_DIR}/lib/
33 +- PREFIX ${CMAKE_BINARY_DIR}/lib/qd-2.3.22
34 +- SOURCE_DIR ${CMAKE_BINARY_DIR}/lib/qd-2.3.22
35 +- BUILD_IN_SOURCE ON
36 +- PATCH_COMMAND mkdir -p ${CMAKE_BINARY_DIR}/local
37 +- CONFIGURE_COMMAND CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} FC=${CMAKE_Fortran_COMPILER} ./configure --with-pic --enable-fortran --enable-fma --prefix=${CMAKE_BINARY_DIR}/local --enable-shared --libdir=${CMAKE_BINARY_DIR}/local/lib
38 +- BUILD_COMMAND ${MAKE}
39 +- INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} install
40 +-)
41 +-
42 +-ExternalProject_Add(qcdloop
43 +- DOWNLOAD_COMMAND mkdir -p ${CMAKE_BINARY_DIR}/lib && cp -r ${CMAKE_SOURCE_DIR}/lib/qcdloop-2.0.5 ${CMAKE_BINARY_DIR}/lib
44 +- PREFIX ${CMAKE_BINARY_DIR}/lib/qcdloop-2.0.5
45 +- SOURCE_DIR ${CMAKE_BINARY_DIR}/lib/qcdloop-2.0.5
46 +- BUILD_IN_SOURCE ON
47 +- PATCH_COMMAND mkdir -p ${CMAKE_BINARY_DIR}/local
48 +- CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DENABLE_FORTRAN_WRAPPER=ON -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/local -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_INSTALL_LIBDIR=lib
49 +- BUILD_COMMAND ${MAKE}
50 +- INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} install
51 +-)
52 +-
53 +-ExternalProject_Add(liboneloop
54 +- DOWNLOAD_COMMAND mkdir -p ${CMAKE_BINARY_DIR}/lib && cp -r ${CMAKE_SOURCE_DIR}/lib/oneloop ${CMAKE_BINARY_DIR}/lib/
55 +- PREFIX ${CMAKE_BINARY_DIR}/lib/oneloop
56 +- SOURCE_DIR ${CMAKE_BINARY_DIR}/lib/oneloop
57 +- BUILD_IN_SOURCE ON
58 +- CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_Fortran_COMPILER=${CMAKE_Fortran_COMPILER} -DCMAKE_Fortran_FLAGS=-fPIC
59 +- BUILD_COMMAND ${MAKE}
60 +- INSTALL_COMMAND mkdir -p ${CMAKE_BINARY_DIR}/local/include && cp ${CMAKE_BINARY_DIR}/lib/oneloop/avh_olo.mod ${CMAKE_BINARY_DIR}/local/include
61 +-)
62 +-
63 +-ExternalProject_Add(handyg
64 +- DOWNLOAD_COMMAND mkdir -p ${CMAKE_BINARY_DIR}/lib && cp -r ${CMAKE_SOURCE_DIR}/lib/handyG ${CMAKE_BINARY_DIR}/lib/
65 +- PREFIX ${CMAKE_BINARY_DIR}/lib/handyG
66 +- SOURCE_DIR ${CMAKE_BINARY_DIR}/lib/handyG
67 +- BUILD_IN_SOURCE ON
68 +- PATCH_COMMAND mkdir -p ${CMAKE_BINARY_DIR}/local
69 +- CONFIGURE_COMMAND CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} FC=${CMAKE_Fortran_COMPILER} CFLAGS=-fPIC CXXFLAGS=-fPIC FFLAGS=-fPIC ./configure --prefix=${CMAKE_BINARY_DIR}/local --moduledir=${CMAKE_BINARY_DIR}/local/include
70 +- BUILD_COMMAND ${MAKE}
71 +- INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} install
72 +-)
73 ++#ExternalProject_Add(qd
74 ++# DOWNLOAD_COMMAND mkdir -p ${CMAKE_BINARY_DIR}/lib && cp -r ${CMAKE_SOURCE_DIR}/lib/qd-2.3.22 ${CMAKE_BINARY_DIR}/lib/
75 ++# PREFIX ${CMAKE_BINARY_DIR}/lib/qd-2.3.22
76 ++# SOURCE_DIR ${CMAKE_BINARY_DIR}/lib/qd-2.3.22
77 ++# BUILD_IN_SOURCE ON
78 ++# PATCH_COMMAND mkdir -p ${CMAKE_BINARY_DIR}/local
79 ++# CONFIGURE_COMMAND CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} FC=${CMAKE_Fortran_COMPILER} ./configure --with-pic --enable-fortran --enable-fma --prefix=${CMAKE_BINARY_DIR}/local --enable-shared --libdir=${CMAKE_BINARY_DIR}/local/lib
80 ++# BUILD_COMMAND ${MAKE}
81 ++# INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} install
82 ++#)
83 ++#
84 ++#ExternalProject_Add(qcdloop
85 ++# DOWNLOAD_COMMAND mkdir -p ${CMAKE_BINARY_DIR}/lib && cp -r ${CMAKE_SOURCE_DIR}/lib/qcdloop-2.0.5 ${CMAKE_BINARY_DIR}/lib
86 ++# PREFIX ${CMAKE_BINARY_DIR}/lib/qcdloop-2.0.5
87 ++# SOURCE_DIR ${CMAKE_BINARY_DIR}/lib/qcdloop-2.0.5
88 ++# BUILD_IN_SOURCE ON
89 ++# PATCH_COMMAND mkdir -p ${CMAKE_BINARY_DIR}/local
90 ++# CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DENABLE_FORTRAN_WRAPPER=ON -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/local -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_INSTALL_LIBDIR=lib
91 ++# BUILD_COMMAND ${MAKE}
92 ++# INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} install
93 ++#)
94 ++#
95 ++#ExternalProject_Add(liboneloop
96 ++# DOWNLOAD_COMMAND mkdir -p ${CMAKE_BINARY_DIR}/lib && cp -r ${CMAKE_SOURCE_DIR}/lib/oneloop ${CMAKE_BINARY_DIR}/lib/
97 ++# PREFIX ${CMAKE_BINARY_DIR}/lib/oneloop
98 ++# SOURCE_DIR ${CMAKE_BINARY_DIR}/lib/oneloop
99 ++# BUILD_IN_SOURCE ON
100 ++# CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_Fortran_COMPILER=${CMAKE_Fortran_COMPILER} -DCMAKE_Fortran_FLAGS=-fPIC
101 ++# BUILD_COMMAND ${MAKE}
102 ++# INSTALL_COMMAND mkdir -p ${CMAKE_BINARY_DIR}/local/include && cp ${CMAKE_BINARY_DIR}/lib/oneloop/avh_olo.mod ${CMAKE_BINARY_DIR}/local/include
103 ++#)
104 ++#
105 ++#ExternalProject_Add(handyg
106 ++# DOWNLOAD_COMMAND mkdir -p ${CMAKE_BINARY_DIR}/lib && cp -r ${CMAKE_SOURCE_DIR}/lib/handyG ${CMAKE_BINARY_DIR}/lib/
107 ++# PREFIX ${CMAKE_BINARY_DIR}/lib/handyG
108 ++# SOURCE_DIR ${CMAKE_BINARY_DIR}/lib/handyG
109 ++# BUILD_IN_SOURCE ON
110 ++# PATCH_COMMAND mkdir -p ${CMAKE_BINARY_DIR}/local
111 ++# CONFIGURE_COMMAND CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} FC=${CMAKE_Fortran_COMPILER} CFLAGS=-fPIC CXXFLAGS=-fPIC FFLAGS=-fPIC ./configure --prefix=${CMAKE_BINARY_DIR}/local --moduledir=${CMAKE_BINARY_DIR}/local/include
112 ++# BUILD_COMMAND ${MAKE}
113 ++# INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} install
114 ++#)
115 +
116 + ## Configuration options
117 +
118 +@@ -169,7 +169,7 @@
119 + add_subdirectory(lib/SpecialFunctions)
120 + add_subdirectory(lib/AMOS)
121 +
122 +-add_dependencies(objlib qd qcdloop liboneloop handyg)
123 ++#add_dependencies(objlib qd qcdloop liboneloop handyg)
124 +
125 + if(${with_vvamp})
126 + add_compile_definitions(WITH_VVAMP=1)
127 +@@ -182,7 +182,7 @@
128 + PATCH_COMMAND mkdir -p ${CMAKE_BINARY_DIR}/local
129 + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_Fortran_COMPILER=${CMAKE_Fortran_COMPILER} -DCMAKE_Fortran_FLAGS=-fPIC
130 + BUILD_COMMAND ${MAKE}
131 +- INSTALL_COMMAND mkdir -p ${CMAKE_BINARY_DIR}/local/include && cp ${CMAKE_BINARY_DIR}/VVamp/mod_vvamp.mod ${CMAKE_BINARY_DIR}/local/include
132 ++ INSTALL_COMMAND mv ${CMAKE_BINARY_DIR}/VVamp/mod_vvamp.mod ${CMAKE_BINARY_DIR}/local/include
133 + )
134 + add_library(vvamp STATIC IMPORTED)
135 + set_property(TARGET vvamp PROPERTY IMPORTED_LOCATION "${CMAKE_BINARY_DIR}/VVamp/libvvamp.a")
136 +@@ -192,7 +192,6 @@
137 + else()
138 + set(linkvvamp "")
139 + endif()
140 +-
141 + set_target_properties(objlib PROPERTIES
142 + CXX_STANDARD 11
143 + Fortran_MODULE_DIRECTORY "${CMAKE_BINARY_DIR}/include"
144 +@@ -222,48 +221,51 @@
145 + target_link_libraries(mcfm ${OpenMP_Fortran_LIBRARIES})
146 + endif()
147 +
148 +-add_library(oneloop STATIC IMPORTED)
149 +-set_property(TARGET oneloop PROPERTY IMPORTED_LOCATION "${CMAKE_BINARY_DIR}/lib/oneloop/liboneloop.a")
150 ++find_library(qcdloop qcdloop)
151 +
152 +-add_library(qcdloop_lib_static STATIC IMPORTED)
153 +-set_property(TARGET qcdloop_lib_static PROPERTY IMPORTED_LOCATION "${CMAKE_BINARY_DIR}/local/lib/libqcdloop.a")
154 +-set_property(TARGET qcdloop_lib_static PROPERTY IMPORTED_NO_SONAME TRUE)
155 +-add_dependencies(qcdloop_lib_static qcdloop)
156 +-
157 +-add_library(qcdloop_lib_shared SHARED IMPORTED)
158 +-set_property(TARGET qcdloop_lib_shared PROPERTY IMPORTED_LOCATION "${CMAKE_BINARY_DIR}/local/lib/libqcdloop.${CMAKE_SHARED_LIBRARY_SUFFIX}")
159 +-set_property(TARGET qcdloop_lib_shared PROPERTY IMPORTED_NO_SONAME TRUE)
160 +-add_dependencies(qcdloop_lib_shared qcdloop)
161 +-
162 +-add_library(qd_lib_static STATIC IMPORTED)
163 +-set_property(TARGET qd_lib_static PROPERTY IMPORTED_LOCATION "${CMAKE_BINARY_DIR}/local/lib/libqd.a")
164 +-set_property(TARGET qd_lib_static PROPERTY IMPORTED_NO_SONAME TRUE)
165 +-add_dependencies(qd_lib_static qd)
166 +-
167 +-add_library(qd_lib_shared SHARED IMPORTED)
168 +-set_property(TARGET qd_lib_shared PROPERTY IMPORTED_LOCATION "${CMAKE_BINARY_DIR}/local/lib/libqd.${CMAKE_SHARED_LIBRARY_SUFFIX}")
169 +-set_property(TARGET qd_lib_shared PROPERTY IMPORTED_NO_SONAME TRUE)
170 +-add_dependencies(qd_lib_shared qd)
171 +-
172 +-add_library(qdmod_lib_static STATIC IMPORTED)
173 +-set_property(TARGET qdmod_lib_static PROPERTY IMPORTED_LOCATION "${CMAKE_BINARY_DIR}/local/lib/libqdmod.a")
174 +-set_property(TARGET qdmod_lib_static PROPERTY IMPORTED_NO_SONAME TRUE)
175 +-add_dependencies(qdmod_lib_static qd)
176 +-
177 +-add_library(qdmod_lib_shared SHARED IMPORTED)
178 +-set_property(TARGET qdmod_lib_shared PROPERTY IMPORTED_LOCATION "${CMAKE_BINARY_DIR}/local/lib/libqdmod.${CMAKE_SHARED_LIBRARY_SUFFIX}")
179 +-set_property(TARGET qdmod_lib_shared PROPERTY IMPORTED_NO_SONAME TRUE)
180 +-add_dependencies(qdmod_lib_shared qd)
181 +-
182 +-add_library(handyg_lib_static STATIC IMPORTED)
183 +-set_property(TARGET handyg_lib_static PROPERTY IMPORTED_LOCATION "${CMAKE_BINARY_DIR}/local/lib/libhandyg.a")
184 +-set_property(TARGET handyg_lib_static PROPERTY IMPORTED_NO_SONAME TRUE)
185 +-add_dependencies(handyg_lib_static handyg)
186 +-
187 +-add_dependencies(objlib qdmod_lib_static)
188 +-add_dependencies(objlib qd_lib_static)
189 +-add_dependencies(objlib qcdloop_lib_static)
190 +-add_dependencies(objlib handyg_lib_static)
191 ++#add_library(oneloop STATIC IMPORTED)
192 ++#set_property(TARGET oneloop PROPERTY IMPORTED_LOCATION "${CMAKE_BINARY_DIR}/lib/oneloop/liboneloop.a")
193 ++#
194 ++#add_library(qcdloop_lib_static STATIC IMPORTED)
195 ++#set_property(TARGET qcdloop_lib_static PROPERTY IMPORTED_LOCATION "${CMAKE_BINARY_DIR}/local/lib/libqcdloop.a")
196 ++#set_property(TARGET qcdloop_lib_static PROPERTY IMPORTED_NO_SONAME TRUE)
197 ++#add_dependencies(qcdloop_lib_static qcdloop)
198 ++
199 ++#add_library(qcdloop_lib_shared SHARED IMPORTED)
200 ++#set_property(TARGET qcdloop_lib_shared PROPERTY IMPORTED_LOCATION "${CMAKE_BINARY_DIR}/local/lib/libqcdloop.${CMAKE_SHARED_LIBRARY_SUFFIX}")
201 ++#set_property(TARGET qcdloop_lib_shared PROPERTY IMPORTED_NO_SONAME TRUE)
202 ++#add_dependencies(qcdloop_lib_shared qcdloop)
203 ++#
204 ++#add_library(qd_lib_static STATIC IMPORTED)
205 ++#set_property(TARGET qd_lib_static PROPERTY IMPORTED_LOCATION "${CMAKE_BINARY_DIR}/local/lib/libqd.a")
206 ++#set_property(TARGET qd_lib_static PROPERTY IMPORTED_NO_SONAME TRUE)
207 ++#add_dependencies(qd_lib_static qd)
208 ++#
209 ++#add_library(qd_lib_shared SHARED IMPORTED)
210 ++#set_property(TARGET qd_lib_shared PROPERTY IMPORTED_LOCATION "${CMAKE_BINARY_DIR}/local/lib/libqd.${CMAKE_SHARED_LIBRARY_SUFFIX}")
211 ++#set_property(TARGET qd_lib_shared PROPERTY IMPORTED_NO_SONAME TRUE)
212 ++#add_dependencies(qd_lib_shared qd)
213 ++#
214 ++#add_library(qdmod_lib_static STATIC IMPORTED)
215 ++#set_property(TARGET qdmod_lib_static PROPERTY IMPORTED_LOCATION "${CMAKE_BINARY_DIR}/local/lib/libqdmod.a")
216 ++#set_property(TARGET qdmod_lib_static PROPERTY IMPORTED_NO_SONAME TRUE)
217 ++#add_dependencies(qdmod_lib_static qd)
218 ++#
219 ++#add_library(qdmod_lib_shared SHARED IMPORTED)
220 ++#set_property(TARGET qdmod_lib_shared PROPERTY IMPORTED_LOCATION "${CMAKE_BINARY_DIR}/local/lib/libqdmod.${CMAKE_SHARED_LIBRARY_SUFFIX}")
221 ++#set_property(TARGET qdmod_lib_shared PROPERTY IMPORTED_NO_SONAME TRUE)
222 ++#add_dependencies(qdmod_lib_shared qd)
223 ++#
224 ++#add_library(handyg_lib_static STATIC IMPORTED)
225 ++#set_property(TARGET handyg_lib_static PROPERTY IMPORTED_LOCATION "${CMAKE_BINARY_DIR}/local/lib/libhandyg.a")
226 ++#set_property(TARGET handyg_lib_static PROPERTY IMPORTED_NO_SONAME TRUE)
227 ++#add_dependencies(handyg_lib_static handyg)
228 ++
229 ++#add_dependencies(objlib qdmod_lib_static)
230 ++#add_dependencies(objlib qd_lib_static)
231 ++#add_dependencies(objlib qcdloop_lib_static)
232 ++#add_dependencies(objlib handyg_lib_static)
233 ++target_link_libraries(objlib qdmod qd qcdloop handyg)
234 +
235 + if(use_internal_lhapdf)
236 + ExternalProject_Add(lhapdf
237 +@@ -285,13 +287,15 @@
238 +
239 + add_dependencies(lhapdf_lib_static lhapdf)
240 + target_link_libraries(mcfm lhapdf_lib_static)
241 +- target_include_directories(objlib PRIVATE "${CMAKE_BINARY_DIR}/local/include" "${CMAKE_BINARY_DIR}/local/include/qd")
242 ++ target_include_directories(objlib PRIVATE
243 ++ "${CMAKE_BINARY_DIR}/include" "/usr/include" "/usr/include/qd")
244 + add_dependencies(objlib lhapdf)
245 + elseif(use_external_lhapdf)
246 + find_library(lhapdf_lib NAMES LHAPDF REQUIRED)
247 + target_link_libraries(mcfm ${lhapdf_lib})
248 + if (${lhapdf_include_path})
249 +- target_include_directories(objlib PRIVATE "${LHAPDF_INCLUDE_PATH}" "${CMAKE_BINARY_DIR}/local/include" "${CMAKE_BINARY_DIR}/local/include/qd")
250 ++ target_include_directories(objlib PRIVATE "${LHAPDF_INCLUDE_PATH}"
251 ++ "${CMAKE_BINARY_DIR}/include" "/usr/include" "/usr/include/qd")
252 + endif()
253 + endif()
254 +
255 +@@ -299,9 +303,9 @@
256 +
257 + if(${with_library})
258 + if(use_internal_lhapdf)
259 +- target_link_libraries(libmcfm qdmod_lib_static qd_lib_static qcdloop_lib_static oneloop handyg_lib_static ${linkvvamp} quadmath stdc++ lhapdf_lib_static)
260 ++ target_link_libraries(libmcfm qdmod qd qcdloop avh_olo handyg ${linkvvamp} quadmath stdc++ lhapdf_lib_static)
261 + else()
262 +- target_link_libraries(libmcfm qdmod_lib_static qd_lib_static qcdloop_lib_static oneloop handyg_lib_static ${linkvvamp} quadmath stdc++ ${lhapdf_lib})
263 ++ target_link_libraries(libmcfm qdmod qd qcdloop avh_olo handyg ${linkvvamp} quadmath stdc++ ${lhapdf_lib})
264 + endif()
265 + if (DEFINED OLDIR)
266 + target_link_libraries(oltest libmcfm ${openloops_lib})
267 +@@ -320,7 +324,7 @@
268 + endif()
269 + endif()
270 +
271 +-target_link_libraries(mcfm qdmod_lib_static qd_lib_static qcdloop_lib_static oneloop handyg_lib_static ${linkvvamp} quadmath stdc++)
272 ++target_link_libraries(mcfm qdmod qd qcdloop avh_olo handyg ${linkvvamp} quadmath stdc++)
273 +
274 + set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
275 + set(CMAKE_INSTALL_RPATH "${CMAKE_BINARY_DIR}/local/lib")
276
277 diff --git a/sci-physics/mcfm/mcfm-10.2.1.ebuild b/sci-physics/mcfm/mcfm-10.2.1.ebuild
278 new file mode 100644
279 index 000000000..9a928e4c9
280 --- /dev/null
281 +++ b/sci-physics/mcfm/mcfm-10.2.1.ebuild
282 @@ -0,0 +1,71 @@
283 +# Copyright 2022 Gentoo Authors
284 +# Distributed under the terms of the GNU General Public License v2
285 +
286 +EAPI=8
287 +
288 +CMAKE_MAKEFILE_GENERATOR="emake"
289 +
290 +inherit cmake
291 +
292 +MY_PN=MCFM
293 +MY_P=${MY_PN}-${PV}
294 +
295 +DESCRIPTION="Monte Carlo for FeMtobarn processes"
296 +HOMEPAGE="https://mcfm.fnal.gov"
297 +SRC_URI="https://mcfm.fnal.gov/downloads/${MY_P}.tar.gz"
298 +S="${WORKDIR}/${MY_P}"
299 +
300 +LICENSE="GPL-3+"
301 +SLOT="0"
302 +KEYWORDS="~amd64"
303 +
304 +# Manual states multithreading bug in lhapdf-6.3.0 ?!
305 +# MCFM has been tested against lhapdf-6.2.0 which ::gentoo already dropped
306 +DEPEND="
307 + sci-physics/lhapdf
308 + >=sci-libs/qd-2.3.22
309 + >=sci-physics/qcdloop-2.0.5
310 + >=sci-physics/oneloop-2020.07.31
311 + >=sci-libs/handyg-0.1.5
312 +"
313 +RDEPEND="${DEPEND}"
314 +BDEPEND="
315 + virtual/fortran
316 +"
317 +
318 +PATCHES=(
319 + "${FILESDIR}"/${P}-rest.patch
320 +)
321 +src_prepare() {
322 + sed -i -e 's/\(name=".*\)"/\1_"/g' src/Mods/mod_qcdloop_c.f || die
323 + cmake_src_prepare
324 +}
325 +
326 +src_configure() {
327 + local mycmakeargs=(
328 + -Duse_external_lhapdf=ON
329 + -Duse_internal_lhapdf=OFF
330 + -Dlhapdf_include_path=ON
331 + -Dwith_library=ON
332 + -Dwith_vvamp=OFF
333 + )
334 + cmake_src_configure
335 + # Fix relative path in working dir to something absolute
336 + sed -i "s/process\.DAT/${EPREFIX}\/usr\/share\/${MY_PN}\/process\.DAT/g" src/Procdep/chooser.f || die
337 +}
338 +
339 +src_compile() {
340 + # Single thread force needed since fortan mods depend on each other
341 + # This problem only happend very rarely
342 + export MAKEOPTS=-j1
343 + cmake_src_compile
344 +}
345 +
346 +src_install() {
347 + # this did not work
348 + #cmake_src_install
349 + dobin "${BUILD_DIR}"/mcfm
350 + dolib.so "${BUILD_DIR}"/libmcfm.so
351 + insinto "/usr/share/${MY_PN}/"
352 + doins "Bin/process.DAT"
353 +}
354
355 diff --git a/sci-physics/mcfm/metadata.xml b/sci-physics/mcfm/metadata.xml
356 new file mode 100644
357 index 000000000..a8720d7dd
358 --- /dev/null
359 +++ b/sci-physics/mcfm/metadata.xml
360 @@ -0,0 +1,15 @@
361 +<?xml version="1.0" encoding="UTF-8"?>
362 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
363 +<pkgmetadata>
364 + <maintainer type="person">
365 + <email>APN-Pucky@××××××××××××××××××××.com</email>
366 + <name>APN-Pucky</name>
367 + </maintainer>
368 + <maintainer type="project">
369 + <email>sci-physics@g.o</email>
370 + <name>Gentoo Physics Project</name>
371 + </maintainer>
372 + <longdescription lang="en">
373 + The program calculates cross-sections for various femtobarn-level processes at hadron-hadron colliders. A number of processes can be calculated at NLO order in QCD, while most other processes are included at NNLO order in QCD. The calculation of some processes can also account for next-to-leading order weak effects.
374 + </longdescription>
375 +</pkgmetadata>