summary refs log tree commit diff
path: root/gnu
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 /gnu
parentcc0a12822659d2eadaf0401d1660f558da004b4b (diff)
downloadguix-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.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/base.scm11
-rw-r--r--gnu/packages/patches/coreutils-dummy-man.patch17
2 files changed, 25 insertions, 3 deletions
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;;