diff options
author | Daiderd Jordan <daiderd@gmail.com> | 2016-11-12 17:14:20 +0100 |
---|---|---|
committer | Daiderd Jordan <daiderd@gmail.com> | 2016-11-13 00:04:50 +0100 |
commit | 7e933af17344c049cdb13bffeafdb82f0927f3bc (patch) | |
tree | 27df7bccc028c868a2742ea2886826eeb6ebef9f /pkgs/development/libraries/db/generic.nix | |
parent | fcfe3c0909c7703bf5cfe6a7c2402e7e1b08b1d6 (diff) |
db: fix build with libc++-3.8
Diffstat (limited to 'pkgs/development/libraries/db/generic.nix')
-rw-r--r-- | pkgs/development/libraries/db/generic.nix | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/pkgs/development/libraries/db/generic.nix b/pkgs/development/libraries/db/generic.nix index fdc828effdfbe..8e3eb5248e9ee 100644 --- a/pkgs/development/libraries/db/generic.nix +++ b/pkgs/development/libraries/db/generic.nix @@ -20,6 +20,24 @@ stdenv.mkDerivation (rec { patches = extraPatches; + # https://community.oracle.com/thread/3952592 + # this patch renames some sybols that conflict with libc++-3.8 + # symbols: atomic_compare_exchange, atomic_init, store + prePatch = '' + substituteInPlace src/dbinc/db.in \ + --replace '#define store' '#define store_db' + + substituteInPlace src/dbinc/atomic.h \ + --replace atomic_compare_exchange atomic_compare_exchange_db \ + --replace atomic_init atomic_init_db + substituteInPlace src/mp/*.c \ + --replace atomic_compare_exchange atomic_compare_exchange_db \ + --replace atomic_init atomic_init_db + substituteInPlace src/mutex/*.c \ + --replace atomic_compare_exchange atomic_compare_exchange_db \ + --replace atomic_init atomic_init_db + ''; + configureFlags = [ (if cxxSupport then "--enable-cxx" else "--disable-cxx") (if compat185 then "--enable-compat185" else "--disable-compat185") |