summary refs log tree commit diff
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2020-12-15 23:10:29 +0100
committerMarius Bakke <marius@gnu.org>2020-12-17 00:15:48 +0100
commit420ddd0a91d50b3d37003638af8dc19bbef02c01 (patch)
tree7495bc48541928cd6745dea1a5c066b379e18a6a
parent04496dc5743d54134405c604ca863ce913283a0e (diff)
downloadguix-420ddd0a91d50b3d37003638af8dc19bbef02c01.tar.gz
gnu: gdbm: Fix build with GCC 10.
* gnu/packages/patches/gdbm-gcc-compat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/dbm.scm (gdbm)[source](patches): New field.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/dbm.scm1
-rw-r--r--gnu/packages/patches/gdbm-gcc-compat.patch16
3 files changed, 18 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 924aa4bd21..81134ea152 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1044,6 +1044,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/gdb-hurd.patch				\
   %D%/packages/patches/gd-fix-tests-on-i686.patch		\
   %D%/packages/patches/gd-brect-bounds.patch			\
+  %D%/packages/patches/gdbm-gcc-compat.patch			\
   %D%/packages/patches/gdm-default-session.patch		\
   %D%/packages/patches/genimage-signedness.patch		\
   %D%/packages/patches/geoclue-config.patch			\
diff --git a/gnu/packages/dbm.scm b/gnu/packages/dbm.scm
index 6610a705a7..8059d95628 100644
--- a/gnu/packages/dbm.scm
+++ b/gnu/packages/dbm.scm
@@ -139,6 +139,7 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
               (method url-fetch)
               (uri (string-append "mirror://gnu/gdbm/gdbm-"
                                   version ".tar.gz"))
+              (patches (search-patches "gdbm-gcc-compat.patch"))
               (sha256
                (base32
                 "1p4ibds6z3ccy65lkmd6lm7js0kwifvl53r0fd759fjxgr917rl6"))))
diff --git a/gnu/packages/patches/gdbm-gcc-compat.patch b/gnu/packages/patches/gdbm-gcc-compat.patch
new file mode 100644
index 0000000000..c2e187834a
--- /dev/null
+++ b/gnu/packages/patches/gdbm-gcc-compat.patch
@@ -0,0 +1,16 @@
+Fix build failure with GCC 10 due to duplicate definitions.  It can be
+reproduced on older compilers with -fno-common.
+
+Fix taken from Gentoo: https://bugs.gentoo.org/705898
+
+--- a/src/parseopt.c
++++ b/src/parseopt.c
+@@ -255,8 +255,6 @@ print_option_descr (const char *descr, size_t lmargin, size_t rmargin)
+ }
+ 
+ char *parseopt_program_name;
+-char *parseopt_program_doc;
+-char *parseopt_program_args;
+ const char *program_bug_address = "<" PACKAGE_BUGREPORT ">";
+ void (*parseopt_help_hook) (FILE *stream);
+