guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

07/12: gnu: bdb: Fix building with GCC 9.


From: guix-commits
Subject: 07/12: gnu: bdb: Fix building with GCC 9.
Date: Wed, 16 Dec 2020 18:17:28 -0500 (EST)

mbakke pushed a commit to branch core-updates
in repository guix.

commit 04496dc5743d54134405c604ca863ce913283a0e
Author: Jakub Kądziołka <kuba@kadziolka.net>
AuthorDate: Wed Nov 4 14:36:30 2020 +0100

    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>
---
 gnu/local.mk                                       |  1 +
 gnu/packages/dbm.scm                               |  8 ++++++--
 .../patches/bdb-5.3-atomics-on-gcc-9.patch         | 22 ++++++++++++++++++++++
 3 files changed, 29 insertions(+), 2 deletions(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index fc4d9a1..924aa4b 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -827,6 +827,7 @@ dist_patch_DATA =                                           
\
   %D%/packages/patches/bastet-change-source-of-unordered_set.patch     \
   %D%/packages/patches/bazaar-CVE-2017-14176.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-add-configure-config.patch    \
   %D%/packages/patches/bsd-games-add-wrapper.patch             \
diff --git a/gnu/packages/dbm.scm b/gnu/packages/dbm.scm
index 82647c0..6610a70 100644
--- a/gnu/packages/dbm.scm
+++ b/gnu/packages/dbm.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -45,7 +46,8 @@
                                  version ".tar.gz"))
              (sha256
               (base32
-               "0ampbl2f0hb1nix195kz1syrqqxpmvnvnfvphambj7xjrl3iljg0"))))
+               "0ampbl2f0hb1nix195kz1syrqqxpmvnvnfvphambj7xjrl3iljg0"))
+             (patches (search-patches "bdb-5.3-atomics-on-gcc-9.patch"))))
     (build-system gnu-build-system)
     (outputs '("out"                             ; programs, libraries, headers
                "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"))
               (sha256
                (base32
-                "0a1n5hbl7027fbz5lm0vp0zzfp1hmxnz14wx3zl9563h83br5ag0"))))))
+                "0a1n5hbl7027fbz5lm0vp0zzfp1hmxnz14wx3zl9563h83br5ag0"))
+              (patch-flags '("-p0"))
+              (patches (search-patches "bdb-5.3-atomics-on-gcc-9.patch"))))))
 
 (define-public bdb-6
   (package (inherit bdb-4.8)
diff --git a/gnu/packages/patches/bdb-5.3-atomics-on-gcc-9.patch 
b/gnu/packages/patches/bdb-5.3-atomics-on-gcc-9.patch
new file mode 100644
index 0000000..56d404d
--- /dev/null
+++ b/gnu/packages/patches/bdb-5.3-atomics-on-gcc-9.patch
@@ -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;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]