mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 21:38:07 -05:00
gnu: diffutils: Fix Gnulib/getopt cross-compilation issue.
Previously cross-compilation would fail: CC xvasprintf.o xstrtol-error.c:50:16: warning: 'struct rpl_option' declared inside parameter list int exit_status) ^ xstrtol-error.c: In function 'xstrtol_error': xstrtol-error.c:84:5: error: invalid use of undefined type 'struct rpl_option' * gnu/packages/patches/diffutils-getopt.patch: New file. * gnu/packages/base.scm (diffutils)[source]: Use it. * gnu/local.mk (dist_patch_DATA): Add it.
This commit is contained in:
parent
066ccc2c69
commit
8d6cd08573
3 changed files with 47 additions and 1 deletions
|
@ -603,6 +603,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/deja-dup-use-ref-keyword-for-iter.patch \
|
%D%/packages/patches/deja-dup-use-ref-keyword-for-iter.patch \
|
||||||
%D%/packages/patches/dfu-programmer-fix-libusb.patch \
|
%D%/packages/patches/dfu-programmer-fix-libusb.patch \
|
||||||
%D%/packages/patches/diffutils-gets-undeclared.patch \
|
%D%/packages/patches/diffutils-gets-undeclared.patch \
|
||||||
|
%D%/packages/patches/diffutils-getopt.patch \
|
||||||
%D%/packages/patches/doc++-include-directives.patch \
|
%D%/packages/patches/doc++-include-directives.patch \
|
||||||
%D%/packages/patches/doc++-segfault-fix.patch \
|
%D%/packages/patches/doc++-segfault-fix.patch \
|
||||||
%D%/packages/patches/doxygen-test.patch \
|
%D%/packages/patches/doxygen-test.patch \
|
||||||
|
|
|
@ -238,7 +238,8 @@ (define-public diffutils
|
||||||
version ".tar.xz"))
|
version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1mivg0fy3a6fcn535ln8nkgfj6vxh5hsxxs5h6692wxmsjyyh8fn"))))
|
"1mivg0fy3a6fcn535ln8nkgfj6vxh5hsxxs5h6692wxmsjyyh8fn"))
|
||||||
|
(patches (search-patches "diffutils-getopt.patch"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(synopsis "Comparing and merging files")
|
(synopsis "Comparing and merging files")
|
||||||
(description
|
(description
|
||||||
|
|
44
gnu/packages/patches/diffutils-getopt.patch
Normal file
44
gnu/packages/patches/diffutils-getopt.patch
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
commit e3461d1c21a99bcef1b8826f710434e0ffb5adea
|
||||||
|
Author: Paul Eggert <eggert@cs.ucla.edu>
|
||||||
|
Date: Sun Jun 11 15:53:09 2017 -0700
|
||||||
|
|
||||||
|
getopt-posix: port to glibc 2.25.90
|
||||||
|
|
||||||
|
Problem reported by Daniel P. Berrange in:
|
||||||
|
http://lists.gnu.org/archive/html/bug-gnulib/2017-06/msg00003.html
|
||||||
|
* lib/getopt-pfx-core.h (_GETOPT_CORE_H):
|
||||||
|
* lib/getopt-pfx-ext.h (_GETOPT_EXT_H):
|
||||||
|
#undef if __GETOPT_PREFIX is defined.
|
||||||
|
|
||||||
|
diff --git a/lib/getopt-pfx-core.h b/lib/getopt-pfx-core.h
|
||||||
|
index 155c11612..6ad0da683 100644
|
||||||
|
--- a/lib/getopt-pfx-core.h
|
||||||
|
+++ b/lib/getopt-pfx-core.h
|
||||||
|
@@ -47,6 +47,11 @@
|
||||||
|
# define opterr __GETOPT_ID (opterr)
|
||||||
|
# define optind __GETOPT_ID (optind)
|
||||||
|
# define optopt __GETOPT_ID (optopt)
|
||||||
|
+
|
||||||
|
+/* The system's getopt.h may have already included getopt-core.h to
|
||||||
|
+ declare the unprefixed identifiers. Undef _GETOPT_CORE_H so that
|
||||||
|
+ getopt-core.h declares them with prefixes. */
|
||||||
|
+# undef _GETOPT_CORE_H
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <getopt-core.h>
|
||||||
|
diff --git a/lib/getopt-pfx-ext.h b/lib/getopt-pfx-ext.h
|
||||||
|
index d960bb34e..c5ac52202 100644
|
||||||
|
--- a/lib/getopt-pfx-ext.h
|
||||||
|
+++ b/lib/getopt-pfx-ext.h
|
||||||
|
@@ -45,6 +45,11 @@
|
||||||
|
# define getopt_long_only __GETOPT_ID (getopt_long_only)
|
||||||
|
# define option __GETOPT_ID (option)
|
||||||
|
# define _getopt_internal __GETOPT_ID (getopt_internal)
|
||||||
|
+
|
||||||
|
+/* The system's getopt.h may have already included getopt-ext.h to
|
||||||
|
+ declare the unprefixed identifiers. Undef _GETOPT_EXT_H so that
|
||||||
|
+ getopt-ext.h declares them with prefixes. */
|
||||||
|
+# undef _GETOPT_EXT_H
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Standalone applications get correct prototypes for getopt_long and
|
Loading…
Reference in a new issue