libcerf: Add new versions (#50089)

* update libcerf to use new URL and CMake for new versions but keep old URL and autoconf for 1.3
* add maintainer
* fix comment

---------

Co-authored-by: white238 <white238@users.noreply.github.com>
This commit is contained in:
Chris White 2025-04-22 15:47:51 -07:00 committed by GitHub
parent 7cab3e2383
commit 2d212561fb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -3,24 +3,52 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.build_systems.autotools import AutotoolsBuilder
from spack.build_systems.cmake import CMakeBuilder
from spack.package import *
class Libcerf(AutotoolsPackage, SourceforgePackage):
class Libcerf(AutotoolsPackage, CMakePackage):
"""A self-contained C library providing complex error functions, based
on Faddeeva's plasma dispersion function w(z). Also provides Dawson's
integral and Voigt's convolution of a Gaussian and a Lorentzian
integral and Voigt's convolution of a Gaussian and a Lorentzian"""
"""
homepage = "https://jugit.fz-juelich.de/mlz/libcerf/"
url = "https://jugit.fz-juelich.de/mlz/libcerf/-/archive/v2.4/libcerf-v2.4.tar.gz"
homepage = "https://sourceforge.net/projects/libcerf/"
sourceforge_mirror_path = "libcerf/libcerf-1.3.tgz"
license("MIT")
version("1.3", sha256="d7059e923d3f370c89fb4d19ed4f827d381bc3f0e36da5595a04aeaaf3e6a859")
maintainers("white238")
depends_on("c", type="build") # generated
depends_on("fortran", type="build") # generated
version("2.4", sha256="080b30ae564c3dabe3b89264522adaf5647ec754021572bee54929697b276cdc")
version("2.3", sha256="cceefee46e84ce88d075103390b4f9d04c34e4bc3b96d733292c36836d4f7065")
version(
"1.3",
sha256="d7059e923d3f370c89fb4d19ed4f827d381bc3f0e36da5595a04aeaaf3e6a859",
url="https://sourceforge.net/projects/libcerf/files/libcerf-1.3.tgz",
)
variant("cpp", default=False, when="@2:", description="Compile source as C++")
# Build system
build_system(
conditional("cmake", when="@2:"), conditional("autotools", when="@=1.3"), default="cmake"
)
depends_on("c", type="build")
depends_on("fortran", type="build")
class CMakeBuilder(CMakeBuilder):
def cmake_args(self):
args = []
args.append(self.define_from_variant("CERF_CPP", "cpp"))
return args
class AutotoolsBuilder(AutotoolsBuilder):
def configure_args(self):
spec = self.spec
options = []