From 10dae237c6364576e926dc72fc559b94a2d30ad4 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 14 Sep 2016 00:05:58 +0200 Subject: [PATCH] db: now builds on darwin with libc++-3.8 --- pkgs/development/libraries/db/clang-5.3.patch | 13 +++++++++++++ pkgs/development/libraries/db/db-5.3.nix | 5 ++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/db/clang-5.3.patch b/pkgs/development/libraries/db/clang-5.3.patch index 635b9dc076a..0a0993da13e 100644 --- a/pkgs/development/libraries/db/clang-5.3.patch +++ b/pkgs/development/libraries/db/clang-5.3.patch @@ -38,6 +38,19 @@ index 6a858f7..9f338dc 100644 #else #define atomic_inc(env, p) __atomic_inc(env, p) #define atomic_dec(env, p) __atomic_dec(env, p) +diff --git a/src/dbinc/db.in b/src/dbinc/db.in +index 92ac822..f80428e 100644 +--- a/src/dbinc/db.in ++++ b/src/dbinc/db.in +@@ -2782,7 +2782,7 @@ typedef struct { + #define fetch(a) __db_dbm_fetch@DB_VERSION_UNIQUE_NAME@(a) + #define firstkey __db_dbm_firstkey@DB_VERSION_UNIQUE_NAME@ + #define nextkey(a) __db_dbm_nextkey@DB_VERSION_UNIQUE_NAME@(a) +-#define store(a, b) __db_dbm_store@DB_VERSION_UNIQUE_NAME@(a, b) ++#define store_db(a, b) __db_dbm_store@DB_VERSION_UNIQUE_NAME@(a, b) + + /******************************************************* + * Hsearch historic interface. diff --git a/src/mp/mp_fget.c b/src/mp/mp_fget.c index 16de695..d0dcc29 100644 --- a/src/mp/mp_fget.c diff --git a/pkgs/development/libraries/db/db-5.3.nix b/pkgs/development/libraries/db/db-5.3.nix index 98002c24461..91adfa24b58 100644 --- a/pkgs/development/libraries/db/db-5.3.nix +++ b/pkgs/development/libraries/db/db-5.3.nix @@ -3,6 +3,9 @@ import ./generic.nix (args // rec { version = "5.3.28"; sha256 = "0a1n5hbl7027fbz5lm0vp0zzfp1hmxnz14wx3zl9563h83br5ag0"; - extraPatches = [ ./clang-5.3.patch ]; branch = "5.3"; + # https://community.oracle.com/thread/3952592 + # this patch renames some sybols that conflict with libc++-3.8 + # symbols: atomic_compare_exchange, atomic_init, store + extraPatches = [ ./clang-5.3.patch ]; })