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"] dwarf_dirs = ["libdwarf", "dwarfdump2"]
class Libdwarf(Package): class Libdwarf(CMakePackage, Package):
"""The DWARF Debugging Information Format is of interest to """The DWARF Debugging Information Format is of interest to
programmers working on compilers and debuggers (and any one programmers working on compilers and debuggers (and any one
interested in reading or writing DWARF information). It was interested in reading or writing DWARF information). It was
@ -25,29 +25,97 @@ class Libdwarf(Package):
MIPS/IRIX C compiler.""" MIPS/IRIX C compiler."""
homepage = "https://www.prevanders.net/dwarf.html" 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 list_url = homepage
license("LGPL-2.1-only") license("LGPL-2.1-only")
version("20180129", sha256="8bd91b57064b0c14ade5a009d3a1ce819f1b6ec0e189fc876eb8f42a8720d8a6") version("0.10.1", sha256="b511a2dc78b98786064889deaa2c1bc48a0c70115c187900dd838474ded1cc19")
version("20160507", sha256="12ae39376e3915bf8fa92555989f3ad5f2f4f332b590a628541ce68987b337af") with default_args(deprecated=True):
version("20130729", sha256="b6455d8616baf2883e2af91f006d6cbd583128fdfff46e3d1fae460bc223bb7b") version(
version("20130207", sha256="5cb81459f0a1f6a2a10ef4635faddc2fa5e1a9e36901018c017759e491e708b8") "20180129", sha256="8bd91b57064b0c14ade5a009d3a1ce819f1b6ec0e189fc876eb8f42a8720d8a6"
version("20130126", sha256="c23c847935f8612f4fcdcfa0b3311f1553dcbd95bb683d3d5e030440201192fe") )
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("elfutils@0.163", when="@20160507", type="link")
depends_on("elf", 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("zlib-api", type="link")
depends_on("zstd", type="link")
parallel = False 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): def patch(self):
filter_file(r"^typedef struct Elf Elf;$", "", "libdwarf/libdwarf.h.in") 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 # dwarf build does not set arguments for ar properly
make.add_default_arg("ARFLAGS=rcs") make.add_default_arg("ARFLAGS=rcs")