db: fix build with libc++-3.8

This commit is contained in:
Daiderd Jordan
2016-11-13 00:04:50 +01:00
parent fcfe3c0909
commit 7e933af173
8 changed files with 37 additions and 271 deletions
+19 -1
View File
@@ -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
'';
})