summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/glibc/package.py
diff options
context:
space:
mode:
authorHarmen Stoppels <harmenstoppels@gmail.com>2023-09-13 19:06:42 +0200
committerGitHub <noreply@github.com>2023-09-13 10:06:42 -0700
commit7fd56da5b7f99f8fbd1071ea5cf0050d128f0608 (patch)
treec62d59f91f1343c50b3f9cdb437e101f19883ff8 /var/spack/repos/builtin/packages/glibc/package.py
parenteefa5d6cb591245637d849d6021984bd21e7272c (diff)
downloadspack-7fd56da5b7f99f8fbd1071ea5cf0050d128f0608.tar.gz
spack-7fd56da5b7f99f8fbd1071ea5cf0050d128f0608.tar.bz2
spack-7fd56da5b7f99f8fbd1071ea5cf0050d128f0608.tar.xz
spack-7fd56da5b7f99f8fbd1071ea5cf0050d128f0608.zip
glibc: add older versions (#39978)
Diffstat (limited to 'var/spack/repos/builtin/packages/glibc/package.py')
-rw-r--r--var/spack/repos/builtin/packages/glibc/package.py53
1 files changed, 53 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/glibc/package.py b/var/spack/repos/builtin/packages/glibc/package.py
index 38c568c9e4..5c19e3b930 100644
--- a/var/spack/repos/builtin/packages/glibc/package.py
+++ b/var/spack/repos/builtin/packages/glibc/package.py
@@ -44,6 +44,18 @@ class Glibc(AutotoolsPackage, GNUMirrorPackage):
version("2.19", sha256="18ad6db70724699d264add80b1f813630d0141cf3a3558b4e1a7c15f6beac796")
version("2.18", sha256="c8e727b5feef883184241a4767725ec280c0288794bc5cd4432497370db47734")
version("2.17", sha256="a3b2086d5414e602b4b3d5a8792213feb3be664ffc1efe783a829818d3fca37a")
+ version("2.16.0", sha256="a75be51658cc1cfb6324ec6dbdbed416526c44c14814823129f0fcc74c279f6e")
+ version("2.15", sha256="da6b95d14b722539c2ec02e7ae1221318dba3d27f19c098a882ffa71bb429c20")
+ version("2.14.1", sha256="f80c40897df49c463a6d5a45f734acbfe1bf42ef209a92a5c217aeb383631bdb")
+ version("2.13", sha256="bd90d6119bcc2898befd6e1bbb2cb1ed3bb1c2997d5eaa6fdbca4ee16191a906")
+ version("2.12.2", sha256="6b7392a7b339a3f2db6e4bc8d5418cf29116d9e7e36b313e845cb65e449c5346")
+ version("2.11.3", sha256="ddc3210f4029991f5142fda7f269f9bfb197917e5d9445ba2d90d31f74cc2765")
+ version("2.10.1", sha256="cd9743db33389e7b4eb2942a4f365d12fc015f115113b230152280c43ccc7e3f")
+ version("2.9", sha256="e0210dec2a4ca0a03d8ee26e2a4ebccc915d99f4cdb1489ff0f9f4ce7bda3e30")
+ version("2.8", sha256="a5b91339355a7bbafc5f44b524556f7f25de83dd56f2c00ef9240dabd6865663")
+ version("2.7", sha256="f5ef515cb70f8d4cfcee0b3aac05b73def60d897bdb7a71f4356782febfe415a")
+ version("2.6.1", sha256="6be7639ccad715d25eef560ce9d1637ef206fb9a162714f6ab8167fc0d971cae")
+ version("2.5", sha256="16d3ac4e86eed75d85d80f1f214a6bd58d27f13590966b5ad0cc181df85a3493")
# Spack commit 29aa7117f42f758bc537e03e4bedf66ced0accfa has older versions
# of glibc, but they are removed, because glibc < 2.17 links against
@@ -57,9 +69,34 @@ class Glibc(AutotoolsPackage, GNUMirrorPackage):
# _obstack_compat symbol is not initialized
patch("39b1f61.patch", when="@:2.17")
+ # docs: install fails with "unknown command hsep / vsep"
+ patch("texi.patch", when="@2.16.0")
+
+ # rpc/types.h include issue, should be from local version, not system.
+ patch("fb21f89.patch", when="@:2.16")
+
+ # Use init_array (modified commit 4a531bb to unconditionally define
+ # NO_CTORS_DTORS_SECTIONS)
+ patch("4a531bb.patch", when="@:2.12")
+
+ # make: mixed implicit and static pattern rules (trivial issue in docs)
+ patch("32cf406.patch", when="@:2.10")
+
+ # linker flag output regex
+ patch("7c8a673.patch", when="@:2.9")
+
+ # include_next <limits.h> not working
+ patch("67fbfa5.patch", when="@:2.7")
+
def setup_build_environment(self, env):
if self.spec.satisfies("@:2.21"):
env.append_flags("LDFLAGS", "-no-pie")
+ if self.spec.satisfies("@:2.16"):
+ # for some reason CPPFLAGS -U_FORTIFY_SOURCE is not enough, it has to be CFLAGS
+ env.append_flags("CPPFLAGS", "-U_FORTIFY_SOURCE")
+ env.append_flags("CFLAGS", "-O2 -g -fno-stack-protector -U_FORTIFY_SOURCE")
+ if self.spec.satisfies("@2.5"):
+ env.append_flags("CFLAGS", "-fgnu89-inline")
def patch(self):
# Support gmake >= 4
@@ -70,6 +107,14 @@ class Glibc(AutotoolsPackage, GNUMirrorPackage):
string=True,
)
+ # Suport gcc >= 5
+ filter_file(
+ "3.4* | 4.[0-9]* )",
+ "3.4* | 4.[0-9]* | [5-9].* | [1-9][0-9]*)",
+ "configure",
+ string=True,
+ )
+
# Support gcc >= 10
filter_file(
"4.[3-9].* | 4.[1-9][0-9].* | [5-9].* )",
@@ -84,6 +129,14 @@ class Glibc(AutotoolsPackage, GNUMirrorPackage):
string=True,
)
+ # Support binutils
+ filter_file(
+ "2.1[3-9]*)",
+ "2.1[3-9]*|2.1[0-9][0-9]*|2.[2-9][0-9]*|[3-9].*|[1-9][0-9]*)",
+ "configure",
+ string=True,
+ )
+
depends_on("bison", type="build")
depends_on("texinfo", type="build")
depends_on("gettext", type="build")