aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-02-10 18:27:42 +0100
committerLudovic Courtès <ludo@gnu.org>2014-02-10 18:27:42 +0100
commit7f31c71cb8f37e0baadb72e3f205ce55037adfba (patch)
treea42e0e8c62e016ddba943327777792c27241be3a
parentcc0a12822659d2eadaf0401d1660f558da004b4b (diff)
downloadguix-7f31c71cb8f37e0baadb72e3f205ce55037adfba.tar
guix-7f31c71cb8f37e0baadb72e3f205ce55037adfba.tar.gz
gnu: coreutils: Fix cross-compilation issue with 'dummy-man'.
This should work around the bug described at <http://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-core/coreutils/coreutils-8.22/fix-for-dummy-man-usage.patch>. * gnu/packages/base.scm (coreutils)[patches]: Add 'coreutils-dummy-man.patch'. [native-inputs]: Don't pass PERL when (%current-target-system) is true. * gnu/packages/patches/coreutils-dummy-man.patch: New file. * gnu-system.am (dist_patch_DATA): Add it.
-rw-r--r--gnu-system.am1
-rw-r--r--gnu/packages/base.scm11
-rw-r--r--gnu/packages/patches/coreutils-dummy-man.patch17
3 files changed, 26 insertions, 3 deletions
diff --git a/gnu-system.am b/gnu-system.am
index 1f6fcf24d6..244012037d 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -234,6 +234,7 @@ dist_patch_DATA = \
gnu/packages/patches/binutils-loongson-workaround.patch \
gnu/packages/patches/cdparanoia-fpic.patch \
gnu/packages/patches/cmake-fix-tests.patch \
+ gnu/packages/patches/coreutils-dummy-man.patch \
gnu/packages/patches/cpio-gets-undeclared.patch \
gnu/packages/patches/dbus-localstatedir.patch \
gnu/packages/patches/diffutils-gets-undeclared.patch \
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 385acdef98..d6f75be238 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -239,14 +239,19 @@ used to apply commands with arbitrarily long arguments.")
version ".tar.xz"))
(sha256
(base32
- "04hjzzv434fb8ak3hh3dyhdvg3hqjjwvjmjxqzk1gh2jh6cr8gjv"))))
+ "04hjzzv434fb8ak3hh3dyhdvg3hqjjwvjmjxqzk1gh2jh6cr8gjv"))
+ (patches (list (search-patch "coreutils-dummy-man.patch")))))
(build-system gnu-build-system)
(inputs `(("acl" ,acl) ; TODO: add SELinux
("gmp" ,gmp)))
(native-inputs
;; Perl is needed to run tests in native builds, and to run the bundled
- ;; copy of help2man.
- `(("perl" ,perl)))
+ ;; copy of help2man. However, don't pass it when cross-compiling since
+ ;; that would lead it to try to run programs to get their '--help' output
+ ;; for help2man.
+ (if (%current-target-system)
+ '()
+ `(("perl" ,perl))))
(outputs '("out" "debug"))
(arguments
`(#:parallel-build? #f ; help2man may be called too early
diff --git a/gnu/packages/patches/coreutils-dummy-man.patch b/gnu/packages/patches/coreutils-dummy-man.patch
new file mode 100644
index 0000000000..6c43389994
--- /dev/null
+++ b/gnu/packages/patches/coreutils-dummy-man.patch
@@ -0,0 +1,17 @@
+Coreutils commit b3578fc9ffe70b9466687f9f6470a85f1a0ab14f.
+
+ * man/dummy-man: Recognize the option --info-page=... as no-op.
+
+This fixes "dummy-man: too many non-option arguments" when
+cross-compiling.
+
+--- a/man/dummy-man
++++ b/man/dummy-man
+@@ -30,6 +30,7 @@ while test $# -gt 0; do
+ # in the makefile.
+ --include=*);;
+ --include) shift;;
++ --info-page=*);;
+ -*) fatal_ "invalid or unrecognized help2man option '$1'";;
+ --) shift; break;;
+ *) break;;