diff options
| author | Ricardo Wurmus <rekado@elephly.net> | 2017-05-16 22:11:41 +0200 |
|---|---|---|
| committer | Ludovic Courtès <ludo@gnu.org> | 2017-05-20 10:15:31 +0200 |
| commit | d03b34cf190b5790ee1884ae551634f5f736f4f1 (patch) | |
| tree | 7f1b2daa6a0e732ec64d8b4e49866728e454e47e | |
| parent | 5d6e38a6c37eced3f545a5afdcba3db20ec95869 (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.scm | 65 |
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"))) |
