gnu: bdb: Fix building with GCC 9.
* gnu/packages/dbm.scm (bdb-4.8, bdb-5.3)[source]: Apply patch. * gnu/packages/patches/bdb-5.3-atomics-on-gcc-9.patch: New file. * gnu/local.mk (dist_patch_DATA): Register new file. Signed-off-by: Marius Bakke <marius@gnu.org>master
parent
f0c20da7d9
commit
04496dc574
|
@ -827,6 +827,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/bastet-change-source-of-unordered_set.patch \
|
%D%/packages/patches/bastet-change-source-of-unordered_set.patch \
|
||||||
%D%/packages/patches/bazaar-CVE-2017-14176.patch \
|
%D%/packages/patches/bazaar-CVE-2017-14176.patch \
|
||||||
%D%/packages/patches/bc-fix-cross-compilation.patch \
|
%D%/packages/patches/bc-fix-cross-compilation.patch \
|
||||||
|
%D%/packages/patches/bdb-5.3-atomics-on-gcc-9.patch \
|
||||||
%D%/packages/patches/bsd-games-2.17-64bit.patch \
|
%D%/packages/patches/bsd-games-2.17-64bit.patch \
|
||||||
%D%/packages/patches/bsd-games-add-configure-config.patch \
|
%D%/packages/patches/bsd-games-add-configure-config.patch \
|
||||||
%D%/packages/patches/bsd-games-add-wrapper.patch \
|
%D%/packages/patches/bsd-games-add-wrapper.patch \
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
|
;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||||
;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
|
;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
|
||||||
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
|
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
|
||||||
|
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -45,7 +46,8 @@
|
||||||
version ".tar.gz"))
|
version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0ampbl2f0hb1nix195kz1syrqqxpmvnvnfvphambj7xjrl3iljg0"))))
|
"0ampbl2f0hb1nix195kz1syrqqxpmvnvnfvphambj7xjrl3iljg0"))
|
||||||
|
(patches (search-patches "bdb-5.3-atomics-on-gcc-9.patch"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(outputs '("out" ; programs, libraries, headers
|
(outputs '("out" ; programs, libraries, headers
|
||||||
"doc")) ; 94 MiB of HTML docs
|
"doc")) ; 94 MiB of HTML docs
|
||||||
|
@ -108,7 +110,9 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
|
||||||
version ".tar.gz"))
|
version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0a1n5hbl7027fbz5lm0vp0zzfp1hmxnz14wx3zl9563h83br5ag0"))))))
|
"0a1n5hbl7027fbz5lm0vp0zzfp1hmxnz14wx3zl9563h83br5ag0"))
|
||||||
|
(patch-flags '("-p0"))
|
||||||
|
(patches (search-patches "bdb-5.3-atomics-on-gcc-9.patch"))))))
|
||||||
|
|
||||||
(define-public bdb-6
|
(define-public bdb-6
|
||||||
(package (inherit bdb-4.8)
|
(package (inherit bdb-4.8)
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
Patch borrowed from Arch Linux. Allows compiling bdb 5.3 and earlier with GCC newer than 7.
|
||||||
|
|
||||||
|
--- src/dbinc/atomic.h 2013-03-12 14:07:22.000000000 -0400
|
||||||
|
+++ src/dbinc/atomic.h.change 2013-03-12 14:06:35.000000000 -0400
|
||||||
|
@@ -144,7 +144,7 @@
|
||||||
|
#define atomic_inc(env, p) __atomic_inc(p)
|
||||||
|
#define atomic_dec(env, p) __atomic_dec(p)
|
||||||
|
#define atomic_compare_exchange(env, p, o, n) \
|
||||||
|
- __atomic_compare_exchange((p), (o), (n))
|
||||||
|
+ __atomic_compare_exchange_db((p), (o), (n))
|
||||||
|
static inline int __atomic_inc(db_atomic_t *p)
|
||||||
|
{
|
||||||
|
int temp;
|
||||||
|
@@ -176,7 +176,7 @@
|
||||||
|
* http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html
|
||||||
|
* which configure could be changed to use.
|
||||||
|
*/
|
||||||
|
-static inline int __atomic_compare_exchange(
|
||||||
|
+static inline int __atomic_compare_exchange_db(
|
||||||
|
db_atomic_t *p, atomic_value_t oldval, atomic_value_t newval)
|
||||||
|
{
|
||||||
|
atomic_value_t was;
|
Reference in New Issue