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.
This commit is contained in:
Ludovic Courtès 2014-02-10 18:27:42 +01:00
parent cc0a128226
commit 7f31c71cb8
3 changed files with 26 additions and 3 deletions

View file

@ -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 \

View file

@ -239,14 +239,19 @@ (define-public coreutils
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

View file

@ -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;;