diff --git a/gnu-system.am b/gnu-system.am index 1f6fcf24d6d560cc8b60599c2a8e59331741753c..244012037dfce9309f3c899827a84df51cfe1769 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 385acdef98fe3ab5ad646b4effa62743472cb6fd..d6f75be2389f610eed7b981c6bfdcd8c6867fb57 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -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 diff --git a/gnu/packages/patches/coreutils-dummy-man.patch b/gnu/packages/patches/coreutils-dummy-man.patch new file mode 100644 index 0000000000000000000000000000000000000000..6c43389994eb307eb32f118638b9b439c37d93ca --- /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;;