summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2022-05-31 20:08:11 +0200
committerRicardo Wurmus <rekado@elephly.net>2022-05-31 22:32:14 +0200
commita484e019d3f8c336b93edad2404f67c9ec83eaa1 (patch)
tree5efec5f580f9bcbb31093c370b243158a729ec52 /gnu/packages
parentc35e508b4a317e3c06e1553833b0979e1620f582 (diff)
downloadguix-a484e019d3f8c336b93edad2404f67c9ec83eaa1.tar.gz
gnu: Add glibc-2.32.
* gnu/packages/base.scm (glibc-2.32): New variable.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/base.scm54
1 files changed, 54 insertions, 0 deletions
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index b853465578..bef45199e7 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -930,6 +930,60 @@ with the Linux kernel.")
 
 ;; Below are old libc versions, which we use mostly to build locale data in
 ;; the old format (which the new libc cannot cope with.)
+(define-public glibc-2.32
+  (package
+    (inherit glibc)
+    (version "2.32")
+    (source (origin
+              (inherit (package-source glibc))
+              (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0di848ibffrnwq7g2dvgqrnn4xqhj3h96csn69q4da51ymafl9qn"))
+              (patches (search-patches
+                        "glibc-skip-c++.patch"
+                        "glibc-ldd-powerpc.patch"
+                        "glibc-ldd-x86_64.patch"
+                        "glibc-dl-cache.patch"
+                        "glibc-hidden-visibility-ldconfig.patch"
+                        "glibc-versioned-locpath.patch"
+                        "glibc-allow-kernel-2.6.32.patch"
+                        "glibc-reinstate-prlimit64-fallback.patch"
+                        "glibc-supported-locales.patch"
+                        "glibc-hurd-clock_t_centiseconds.patch"
+                        "glibc-2.31-hurd-clock_gettime_monotonic.patch"
+                        "glibc-hurd-signal-sa-siginfo.patch"
+                        "glibc-hurd-mach-print.patch"
+                        "glibc-hurd-gettyent.patch"))
+              #;
+              (patches (search-patches "glibc-ldd-x86_64.patch"
+                                       "glibc-hidden-visibility-ldconfig.patch"
+                                       "glibc-versioned-locpath.patch"
+                                       "glibc-allow-kernel-2.6.32.patch"
+                                       "glibc-reinstate-prlimit64-fallback.patch"
+                                       "glibc-supported-locales.patch"
+                                       "glibc-hurd-clock_t_centiseconds.patch"
+                                       "glibc-hurd-clock_gettime_monotonic.patch"
+                                       "glibc-hurd-signal-sa-siginfo.patch"))))
+
+    (arguments
+     (substitute-keyword-arguments (package-arguments glibc)
+       ((#:make-flags flags '())
+        ;; Arrange so that /etc/rpc & co. go to $out/etc.
+        `(list (string-append "sysconfdir="
+                              (assoc-ref %outputs "out")
+                              "/etc")))
+       ((#:phases phases)
+        `(modify-phases ,phases
+           (add-before 'configure 'set-etc-rpc-installation-directory
+             (lambda* (#:key outputs #:allow-other-keys)
+               ;; Install the rpc data base file under `$out/etc/rpc'.
+               (let ((out (assoc-ref outputs "out")))
+                 (substitute* "sunrpc/Makefile"
+                   (("^\\$\\(inst_sysconfdir\\)/rpc(.*)$" _ suffix)
+                    (string-append out "/etc/rpc" suffix "\n"))
+                   (("^install-others =.*$")
+                    (string-append "install-others = " out "/etc/rpc\n"))))))))))))
 
 (define-public glibc-2.31
   (package