aboutsummaryrefslogtreecommitdiff
path: root/gnu
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 /gnu
parent04496dc5743d54134405c604ca863ce913283a0e (diff)
downloadguix-420ddd0a91d50b3d37003638af8dc19bbef02c01.tar.gz
guix-420ddd0a91d50b3d37003638af8dc19bbef02c01.zip
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.
Diffstat (limited to 'gnu')
-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);
+