apfel: add v3.1.1 (now CMakePackage) (#45661)
Co-authored-by: wdconinc <wdconinc@users.noreply.github.com> Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
This commit is contained in:
parent
c71d778875
commit
c65fd7e12d
@ -3,10 +3,11 @@
|
|||||||
#
|
#
|
||||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||||
|
|
||||||
|
from spack.build_systems import autotools, cmake
|
||||||
from spack.package import *
|
from spack.package import *
|
||||||
|
|
||||||
|
|
||||||
class Apfel(AutotoolsPackage):
|
class Apfel(AutotoolsPackage, CMakePackage):
|
||||||
"""APFEL is a library able to perform DGLAP evolution up to NNLO in QCD and
|
"""APFEL is a library able to perform DGLAP evolution up to NNLO in QCD and
|
||||||
to NLO in QED, both with pole and MSbar masses. The coupled DGLAP
|
to NLO in QED, both with pole and MSbar masses. The coupled DGLAP
|
||||||
QCD+QED evolution equations are solved in x-space by means of higher
|
QCD+QED evolution equations are solved in x-space by means of higher
|
||||||
@ -19,25 +20,44 @@ class Apfel(AutotoolsPackage):
|
|||||||
|
|
||||||
license("GPL-3.0-or-later")
|
license("GPL-3.0-or-later")
|
||||||
|
|
||||||
|
build_system(
|
||||||
|
conditional("autotools", when="@:3.0"), conditional("cmake", when="@3.1:"), default="cmake"
|
||||||
|
)
|
||||||
|
|
||||||
|
version("3.1.1", sha256="9006b2a9544e504e8f6b5047f665054151870c3c3a4a05db3d4fb46f21908d4b")
|
||||||
version("3.0.6", sha256="7063c9eee457e030b97926ac166cdaedd84625b31397e1dfd01ae47371fb9f61")
|
version("3.0.6", sha256="7063c9eee457e030b97926ac166cdaedd84625b31397e1dfd01ae47371fb9f61")
|
||||||
version("3.0.4", sha256="c7bfae7fe2dc0185981850f2fe6ae4842749339d064c25bf525b4ef412bbb224")
|
version("3.0.4", sha256="c7bfae7fe2dc0185981850f2fe6ae4842749339d064c25bf525b4ef412bbb224")
|
||||||
|
|
||||||
depends_on("cxx", type="build") # generated
|
depends_on("cxx", type="build")
|
||||||
depends_on("fortran", type="build") # generated
|
depends_on("fortran", type="build")
|
||||||
|
|
||||||
|
with when("build_system=cmake"):
|
||||||
|
depends_on("cmake@03.15:")
|
||||||
|
|
||||||
|
extends("python", when="+python")
|
||||||
depends_on("swig", when="+python")
|
depends_on("swig", when="+python")
|
||||||
depends_on("python", type=("build", "run"))
|
depends_on("python", when="+python", type=("build", "run"))
|
||||||
depends_on("lhapdf", when="+lhapdf", type=("build", "run"))
|
depends_on("lhapdf", when="+lhapdf", type=("build", "run"))
|
||||||
|
|
||||||
variant("python", description="Build python wrapper", default=False)
|
variant("python", description="Build python wrapper", default=False)
|
||||||
variant("lhapdf", description="Link to LHAPDF", default=False)
|
variant("lhapdf", description="Link to LHAPDF", default=False)
|
||||||
|
|
||||||
|
|
||||||
|
class CMakeBuilder(cmake.CMakeBuilder):
|
||||||
|
def cmake_args(self):
|
||||||
|
args = [
|
||||||
|
self.define_from_variant("APFEL_ENABLE_PYTHON", "python"),
|
||||||
|
self.define_from_variant("APFEL_ENABLE_LHAPDF", "lhapdf"),
|
||||||
|
]
|
||||||
|
# ensure installation of python module under CMAKE_INSTALL_PREFIX
|
||||||
|
if self.spec.satisfies("+python"):
|
||||||
|
args.append(self.define("APFEL_Python_SITEARCH", "autoprefix"))
|
||||||
|
return args
|
||||||
|
|
||||||
|
|
||||||
|
class AutotoolsBuilder(autotools.AutotoolsBuilder):
|
||||||
def configure_args(self):
|
def configure_args(self):
|
||||||
args = []
|
args = []
|
||||||
if self.spec.satisfies("~python"):
|
args += self.enable_or_disable("pywrap", variant="python")
|
||||||
args.append("--disable-pywrap")
|
|
||||||
else:
|
|
||||||
args.append("--enable-pywrap")
|
|
||||||
|
|
||||||
args += self.enable_or_disable("lhapdf")
|
args += self.enable_or_disable("lhapdf")
|
||||||
return args
|
return args
|
||||||
|
Loading…
Reference in New Issue
Block a user