libdwarf: remove old versions with 0.10.1 (#45306)

This commit is contained in:
Pranav Sivaraman 2024-08-06 09:50:29 -07:00 committed by GitHub
parent 51ac4686b4
commit f3c21b0177
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -12,7 +12,7 @@
dwarf_dirs = ["libdwarf", "dwarfdump2"]
class Libdwarf(Package):
class Libdwarf(CMakePackage, Package):
"""The DWARF Debugging Information Format is of interest to
programmers working on compilers and debuggers (and any one
interested in reading or writing DWARF information). It was
@ -25,29 +25,97 @@ class Libdwarf(Package):
MIPS/IRIX C compiler."""
homepage = "https://www.prevanders.net/dwarf.html"
url = "https://www.prevanders.net/libdwarf-20160507.tar.gz"
url = "https://www.prevanders.net/libdwarf-0.10.1.tar.xz"
list_url = homepage
license("LGPL-2.1-only")
version("20180129", sha256="8bd91b57064b0c14ade5a009d3a1ce819f1b6ec0e189fc876eb8f42a8720d8a6")
version("20160507", sha256="12ae39376e3915bf8fa92555989f3ad5f2f4f332b590a628541ce68987b337af")
version("20130729", sha256="b6455d8616baf2883e2af91f006d6cbd583128fdfff46e3d1fae460bc223bb7b")
version("20130207", sha256="5cb81459f0a1f6a2a10ef4635faddc2fa5e1a9e36901018c017759e491e708b8")
version("20130126", sha256="c23c847935f8612f4fcdcfa0b3311f1553dcbd95bb683d3d5e030440201192fe")
version("0.10.1", sha256="b511a2dc78b98786064889deaa2c1bc48a0c70115c187900dd838474ded1cc19")
with default_args(deprecated=True):
version(
"20180129", sha256="8bd91b57064b0c14ade5a009d3a1ce819f1b6ec0e189fc876eb8f42a8720d8a6"
)
version(
"20160507", sha256="12ae39376e3915bf8fa92555989f3ad5f2f4f332b590a628541ce68987b337af"
)
version(
"20130729", sha256="b6455d8616baf2883e2af91f006d6cbd583128fdfff46e3d1fae460bc223bb7b"
)
version(
"20130207", sha256="5cb81459f0a1f6a2a10ef4635faddc2fa5e1a9e36901018c017759e491e708b8"
)
version(
"20130126", sha256="c23c847935f8612f4fcdcfa0b3311f1553dcbd95bb683d3d5e030440201192fe"
)
build_system(
conditional("generic", when="@20130126:20180130"),
conditional("cmake", when="@0:"),
default="generic",
)
with when("@:20130126"):
variant("shared", default=True, description="Build shared libs")
variant("examples", default=False, description="Build examples")
variant("pic", default=True, description="Build with position independent code")
variant("dwarfdump", default=True, description="Build dwarfdump")
variant("dwarfgen", default=False, description="Build dwarfgen")
variant(
"decompression",
default=True,
description="Enables support for compressed debug sections",
)
conflicts("+shared ~pic")
depends_on("c", type="build")
depends_on("cxx", type="build")
depends_on("cmake@3.5:", type="build", when="@:20130126")
depends_on("gmake", type="build", when="@20130126:")
depends_on("c", type="build") # generated
depends_on("cxx", type="build") # generated
depends_on("elfutils@0.163", when="@20160507", type="link")
depends_on("elf", type="link")
depends_on("zlib-api", type="link")
depends_on("elf", when="@20130126:", type="link")
depends_on("zlib-api", when="@20130126:", type="link")
with when("@:20130126 +decompression"):
depends_on("zlib-api", type="link")
depends_on("zstd", type="link")
parallel = False
def url_for_version(self, version):
if version < Version("20130126"):
return super().url_for_version(version)
return f"https://www.prevanders.net/libdwarf-{version}.tar.gz"
class CMakeBuilder(spack.build_systems.cmake.CMakeBuilder):
def cmake_args(self):
spec = self.spec
define = self.define
from_variant = self.define_from_variant
args = [
from_variant("BUILD_SHARED", "shared"),
from_variant("BUILD_DWARFEXAMPLE", "examples"),
from_variant("PIC_ALWAYS", "pic"),
from_variant("BUILD_DWARFDUMP", "dwarfdump"),
from_variant("BUILD_DWARFGEN", "dwarfgen"),
from_variant("ENABLE_DECOMPRESSION", "decompression"),
define("BUILD_NON_SHARED", spec.satisfies("~shared")),
define("DO_TESTING", self.pkg.run_tests),
]
return args
class GenericBuilder(spack.build_systems.generic.GenericBuilder):
def patch(self):
filter_file(r"^typedef struct Elf Elf;$", "", "libdwarf/libdwarf.h.in")
def install(self, spec, prefix):
def install(self, pkg, spec, prefix):
# dwarf build does not set arguments for ar properly
make.add_default_arg("ARFLAGS=rcs")