~ruther/guix-local

7f31c71cb8f37e0baadb72e3f205ce55037adfba — Ludovic Courtès 12 years ago cc0a128
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.
3 files changed, 26 insertions(+), 3 deletions(-)

M gnu-system.am
M gnu/packages/base.scm
A gnu/packages/patches/coreutils-dummy-man.patch
M gnu-system.am => gnu-system.am +1 -0
@@ 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		\

M gnu/packages/base.scm => gnu/packages/base.scm +8 -3
@@ 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

A gnu/packages/patches/coreutils-dummy-man.patch => gnu/packages/patches/coreutils-dummy-man.patch +17 -0
@@ 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;;