summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2017-05-16 22:11:41 +0200
committerLudovic Courtès <ludo@gnu.org>2017-05-20 10:15:31 +0200
commitd03b34cf190b5790ee1884ae551634f5f736f4f1 (patch)
tree7f1b2daa6a0e732ec64d8b4e49866728e454e47e
parent5d6e38a6c37eced3f545a5afdcba3db20ec95869 (diff)
gnu: glibc/hurd: Do not apply i686 patch.
This is a follow-up to commit c2e4f14ac8cd3e1ce7f46a192ad0c9acc084b210. * gnu/packages/base.scm (glibc/hurd)[arguments]: Override pre-configure phase with a copy that does not include the patch application.
-rw-r--r--gnu/packages/base.scm65
1 files changed, 65 insertions, 0 deletions
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 8a48cadf7bf..d135a18bf81 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -779,6 +779,71 @@ with the Linux kernel.")
779 ;; Add libmachuser.so and libhurduser.so to libc.so's search path. 779 ;; Add libmachuser.so and libhurduser.so to libc.so's search path.
780 ;; See <http://lists.gnu.org/archive/html/bug-hurd/2015-07/msg00051.html>. 780 ;; See <http://lists.gnu.org/archive/html/bug-hurd/2015-07/msg00051.html>.
781 `(modify-phases ,original-phases 781 `(modify-phases ,original-phases
782 ;; TODO: This is almost an exact copy of the phase of the same name
783 ;; in glibc/linux. The only difference is that the i686 patch is
784 ;; not applied here. In the next update cycle the patch moves to
785 ;; the patches field and this overwritten phase won't be needed any
786 ;; more.
787 (replace 'pre-configure
788 (lambda* (#:key inputs native-inputs outputs
789 #:allow-other-keys)
790 (let* ((out (assoc-ref outputs "out"))
791 (bin (string-append out "/bin"))
792 ;; FIXME: Normally we would look it up only in INPUTS
793 ;; but cross-base uses it as a native input.
794 (bash (or (assoc-ref inputs "static-bash")
795 (assoc-ref native-inputs "static-bash"))))
796 ;; Install the rpc data base file under `$out/etc/rpc'.
797 ;; FIXME: Use installFlags = [ "sysconfdir=$(out)/etc" ];
798 (substitute* "sunrpc/Makefile"
799 (("^\\$\\(inst_sysconfdir\\)/rpc(.*)$" _ suffix)
800 (string-append out "/etc/rpc" suffix "\n"))
801 (("^install-others =.*$")
802 (string-append "install-others = " out "/etc/rpc\n")))
803
804 (substitute* "Makeconfig"
805 ;; According to
806 ;; <http://www.linuxfromscratch.org/lfs/view/stable/chapter05/glibc.html>,
807 ;; linking against libgcc_s is not needed with GCC
808 ;; 4.7.1.
809 ((" -lgcc_s") ""))
810
811 ;; Have `system' use that Bash.
812 (substitute* "sysdeps/posix/system.c"
813 (("#define[[:blank:]]+SHELL_PATH.*$")
814 (format #f "#define SHELL_PATH \"~a/bin/bash\"\n"
815 bash)))
816
817 ;; Same for `popen'.
818 (substitute* "libio/iopopen.c"
819 (("/bin/sh")
820 (string-append bash "/bin/sh")))
821
822 ;; Same for the shell used by the 'exec' functions for
823 ;; scripts that lack a shebang.
824 (substitute* (find-files "." "^paths\\.h$")
825 (("#define[[:blank:]]+_PATH_BSHELL[[:blank:]].*$")
826 (string-append "#define _PATH_BSHELL \""
827 bash "/bin/sh\"\n")))
828
829 ;; Nscd uses __DATE__ and __TIME__ to create a string to
830 ;; make sure the client and server come from the same
831 ;; libc. Use something deterministic instead.
832 (substitute* "nscd/nscd_stat.c"
833 (("static const char compilation\\[21\\] =.*$")
834 (string-append
835 "static const char compilation[21] = \""
836 (string-take (basename out) 20) "\";\n")))
837
838 ;; Make sure we don't retain a reference to the
839 ;; bootstrap Perl.
840 (substitute* "malloc/mtrace.pl"
841 (("^#!.*")
842 ;; The shebang can be omitted, because there's the
843 ;; "bilingual" eval/exec magic at the top of the file.
844 "")
845 (("exec @PERL@")
846 "exec perl")))))
782 (add-after 'install 'augment-libc.so 847 (add-after 'install 'augment-libc.so
783 (lambda* (#:key outputs #:allow-other-keys) 848 (lambda* (#:key outputs #:allow-other-keys)
784 (let* ((out (assoc-ref outputs "out"))) 849 (let* ((out (assoc-ref outputs "out")))