diff options
author | Pranav Sivaraman <pranavsivaraman@gmail.com> | 2024-08-06 09:50:29 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-06 18:50:29 +0200 |
commit | f3c21b0177ea1bd69b5fea5b2e785e9d23292e4e (patch) | |
tree | 84c8712219a74eccb3b888c80b038872781adafa | |
parent | 51ac4686b477e1afdb78dbaf22ba09b802f444b5 (diff) | |
download | spack-f3c21b0177ea1bd69b5fea5b2e785e9d23292e4e.tar.gz spack-f3c21b0177ea1bd69b5fea5b2e785e9d23292e4e.tar.bz2 spack-f3c21b0177ea1bd69b5fea5b2e785e9d23292e4e.tar.xz spack-f3c21b0177ea1bd69b5fea5b2e785e9d23292e4e.zip |
libdwarf: remove old versions with 0.10.1 (#45306)
-rw-r--r-- | var/spack/repos/builtin/packages/libdwarf/package.py | 92 |
1 files changed, 80 insertions, 12 deletions
diff --git a/var/spack/repos/builtin/packages/libdwarf/package.py b/var/spack/repos/builtin/packages/libdwarf/package.py index bdb570ef13..a55d24b6e0 100644 --- a/var/spack/repos/builtin/packages/libdwarf/package.py +++ b/var/spack/repos/builtin/packages/libdwarf/package.py @@ -12,7 +12,7 @@ from spack.package import * 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") |