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/db-4.8.nix | |
parent | fcfe3c0909c7703bf5cfe6a7c2402e7e1b08b1d6 (diff) |
db: fix build with libc++-3.8
Diffstat (limited to 'pkgs/development/libraries/db/db-4.8.nix')
-rw-r--r-- | pkgs/development/libraries/db/db-4.8.nix | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/pkgs/development/libraries/db/db-4.8.nix b/pkgs/development/libraries/db/db-4.8.nix index 40869a865ae5f..f631a032102ed 100644 --- a/pkgs/development/libraries/db/db-4.8.nix +++ b/pkgs/development/libraries/db/db-4.8.nix @@ -5,5 +5,23 @@ import ./generic.nix (args // rec { extraPatches = [ ./clang-4.8.patch ]; sha256 = "0ampbl2f0hb1nix195kz1syrqqxpmvnvnfvphambj7xjrl3iljg0"; branch = "4.8"; - drvArgs = { hardeningDisable = [ "format" ]; }; + drvArgs.hardeningDisable = [ "format" ]; + + # https://community.oracle.com/thread/3952592 + # this patch renames some sybols that conflict with libc++-3.8 + # symbols: atomic_compare_exchange, atomic_init, store + drvArgs.prePatch = '' + substituteInPlace dbinc/db.in \ + --replace '#define store' '#define store_db' + + substituteInPlace dbinc/atomic.h \ + --replace atomic_compare_exchange atomic_compare_exchange_db \ + --replace atomic_init atomic_init_db + substituteInPlace mp/*.c \ + --replace atomic_compare_exchange atomic_compare_exchange_db \ + --replace atomic_init atomic_init_db + substituteInPlace mutex/*.c \ + --replace atomic_compare_exchange atomic_compare_exchange_db \ + --replace atomic_init atomic_init_db + ''; }) |