summary refs log tree commit diff
path: root/pkgs/servers
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/servers')
-rw-r--r--pkgs/servers/foundationdb/default.nix31
-rw-r--r--pkgs/servers/foundationdb/ldflags-5.2.patch (renamed from pkgs/servers/foundationdb/ldflags.patch)0
-rw-r--r--pkgs/servers/foundationdb/ldflags-6.0.patch78
3 files changed, 101 insertions, 8 deletions
diff --git a/pkgs/servers/foundationdb/default.nix b/pkgs/servers/foundationdb/default.nix
index ecefc1d8fabd..461b90bc978c 100644
--- a/pkgs/servers/foundationdb/default.nix
+++ b/pkgs/servers/foundationdb/default.nix
@@ -53,7 +53,9 @@ let
         patches =
           [ # For 5.2+, we need a slightly adjusted patch to fix all the ldflags
             (if lib.versionAtLeast version "5.2"
-             then ./ldflags.patch
+             then (if lib.versionAtLeast version "6.0"
+                   then ./ldflags-6.0.patch
+                   else ./ldflags-5.2.patch)
              else ./ldflags-5.1.patch)
           ] ++
           # for 6.0+, we do NOT need to apply this version fix, since we can specify
@@ -77,10 +79,20 @@ let
             --replace 'exit 1' '#exit 1'
 
           patchShebangs .
+        '' + lib.optionalString (lib.versionAtLeast version "6.0") ''
+          substituteInPlace ./Makefile \
+            --replace 'TLS_LIBS +=' '#TLS_LIBS +=' \
+            --replace 'LDFLAGS :=' 'LDFLAGS := -ltls -lssl -lcrypto'
         '';
 
         enableParallelBuilding = true;
-        makeFlags = [ "all" "fdb_c" "fdb_java" "KVRELEASE=1" ];
+
+        makeFlags = [ "all" "fdb_java" ]
+          # Don't compile FDBLibTLS if we don't need it in 6.0 or later;
+          # it gets statically linked in
+          ++ lib.optional (!lib.versionAtLeast version "6.0") [ "fdb_c" ]
+          # Needed environment overrides
+          ++ [ "KVRELEASE=1" ];
 
         # on 6.0 and later, we can specify all this information manually
         configurePhase = lib.optionalString (lib.versionAtLeast version "6.0") ''
@@ -93,7 +105,9 @@ let
           mkdir -vp $out/{bin,libexec/plugins} $lib/{lib,share/java} $dev/include/foundationdb
 
           cp -v ./lib/libfdb_c.so     $lib/lib
+        '' + lib.optionalString (!lib.versionAtLeast version "6.0") ''
           cp -v ./lib/libFDBLibTLS.so $out/libexec/plugins/FDBLibTLS.so
+        '' + ''
 
           cp -v ./bindings/c/foundationdb/fdb_c.h           $dev/include/foundationdb
           cp -v ./bindings/c/foundationdb/fdb_c_options.g.h $dev/include/foundationdb
@@ -131,15 +145,16 @@ in with builtins; {
   };
 
   foundationdb52 = makeFdb rec {
-    version = "5.2.5";
+    version = "5.2.6";
     branch  = "release-5.2";
-    sha256  = "00csr4v9cwl9y8r63p73grc6cvhlqmzcniwrf80i0klxv5asg7q7";
+    rev     = "refs/tags/v5.2.6"; # seemed to be tagged incorrectly
+    sha256  = "1q3lq1hqq0f53n51gd4cw5cpayyw65dmkfplhsw1m5mghymzmskk";
   };
 
   foundationdb60 = makeFdb rec {
-    version = "6.0.0pre2227_${substring 0 8 rev}";
-    branch  = "master";
-    rev     = "8caa6eaecf1eeec0298fc77db334761b0c1d1523";
-    sha256  = "1q200rpsphl5fzwzp2vk7ifgsnqh95k0xfiicfi1c8253ylnsgll";
+    version = "6.0.2pre2430_${substring 0 8 rev}";
+    branch  = "release-6.0";
+    rev     = "7938d247a5eaf886a176575de6592b76374df58c";
+    sha256  = "0g8h2zs0f3aacs7x4hyjh0scybv33gjj6dqfb789h4n6r4gd7d9h";
   };
 }
diff --git a/pkgs/servers/foundationdb/ldflags.patch b/pkgs/servers/foundationdb/ldflags-5.2.patch
index ee5911e495f8..ee5911e495f8 100644
--- a/pkgs/servers/foundationdb/ldflags.patch
+++ b/pkgs/servers/foundationdb/ldflags-5.2.patch
diff --git a/pkgs/servers/foundationdb/ldflags-6.0.patch b/pkgs/servers/foundationdb/ldflags-6.0.patch
new file mode 100644
index 000000000000..1fa17a9615aa
--- /dev/null
+++ b/pkgs/servers/foundationdb/ldflags-6.0.patch
@@ -0,0 +1,78 @@
+diff --git a/bindings/c/local.mk b/bindings/c/local.mk
+index c861a29c..ff886e93 100644
+--- a/bindings/c/local.mk
++++ b/bindings/c/local.mk
+@@ -30,8 +30,8 @@ fdb_c_tests_HEADERS := -Ibindings/c
+ CLEAN_TARGETS += fdb_c_tests_clean
+ 
+ ifeq ($(PLATFORM),linux)
+-  fdb_c_LIBS += lib/libstdc++.a -lm -lpthread -lrt -ldl
+-  fdb_c_LDFLAGS += -Wl,--version-script=bindings/c/fdb_c.map -static-libgcc -Wl,-z,nodelete
++  fdb_c_LIBS += lib/libstdc++.a
++  fdb_c_LDFLAGS += -Wl,--version-script=bindings/c/fdb_c.map -static-libgcc -Wl,-z,nodelete -lm -lpthread -lrt -ldl
+   fdb_c_tests_LIBS += -lpthread
+ endif
+ 
+diff --git a/bindings/flow/tester/local.mk b/bindings/flow/tester/local.mk
+index 2ef4fcb7..6e59625c 100644
+--- a/bindings/flow/tester/local.mk
++++ b/bindings/flow/tester/local.mk
+@@ -35,8 +35,7 @@ _fdb_flow_tester_clean:
+ 	@rm -rf bindings/flow/bin
+ 
+ ifeq ($(PLATFORM),linux)
+-  fdb_flow_tester_LIBS += -ldl -lpthread -lrt
+-  fdb_flow_tester_LDFLAGS += -static-libstdc++ -static-libgcc
++  fdb_flow_tester_LDFLAGS += -static-libstdc++ -static-libgcc -ldl -lpthread -lrt
+ else ifeq ($(PLATFORM),osx)
+   fdb_flow_tester_LDFLAGS += -lc++
+ endif
+diff --git a/fdbbackup/local.mk b/fdbbackup/local.mk
+index ca5dbab6..012f0130 100644
+--- a/fdbbackup/local.mk
++++ b/fdbbackup/local.mk
+@@ -26,8 +26,7 @@ fdbbackup_LIBS := lib/libfdbclient.a lib/libfdbrpc.a lib/libflow.a $(FDB_TLS_LIB
+ fdbbackup_STATIC_LIBS := $(TLS_LIBS)
+ 
+ ifeq ($(PLATFORM),linux)
+-  fdbbackup_LIBS += -ldl -lpthread -lrt
+-  fdbbackup_LDFLAGS += -static-libstdc++ -static-libgcc
++  fdbbackup_LDFLAGS += -static-libstdc++ -static-libgcc -ldl -lpthread -lrt
+ 
+   # GPerfTools profiler (uncomment to use)
+   # fdbbackup_CFLAGS += -I/opt/gperftools/include -DUSE_GPERFTOOLS=1
+diff --git a/fdbcli/local.mk b/fdbcli/local.mk
+index fd738876..3af026b9 100644
+--- a/fdbcli/local.mk
++++ b/fdbcli/local.mk
+@@ -22,14 +22,13 @@
+ 
+ fdbcli_CFLAGS := $(fdbclient_CFLAGS)
+ fdbcli_LDFLAGS := $(fdbrpc_LDFLAGS)
+-fdbcli_LIBS := lib/libfdbclient.a lib/libfdbrpc.a lib/libflow.a -ldl $(FDB_TLS_LIB)
++fdbcli_LIBS := lib/libfdbclient.a lib/libfdbrpc.a lib/libflow.a $(FDB_TLS_LIB)
+ fdbcli_STATIC_LIBS := $(TLS_LIBS)
+ 
+ fdbcli_GENERATED_SOURCES += versions.h
+ 
+ ifeq ($(PLATFORM),linux)
+-  fdbcli_LDFLAGS += -static-libstdc++ -static-libgcc
+-  fdbcli_LIBS += -lpthread -lrt
++  fdbcli_LDFLAGS += -static-libstdc++ -static-libgcc -lpthread -lrt -ldl
+ else ifeq ($(PLATFORM),osx)
+   fdbcli_LDFLAGS += -lc++
+ endif
+diff --git a/fdbserver/local.mk b/fdbserver/local.mk
+index 690916d0..475abbaf 100644
+--- a/fdbserver/local.mk
++++ b/fdbserver/local.mk
+@@ -26,8 +26,7 @@ fdbserver_LIBS := lib/libfdbclient.a lib/libfdbrpc.a lib/libflow.a $(FDB_TLS_LIB
+ fdbserver_STATIC_LIBS := $(TLS_LIBS)
+ 
+ ifeq ($(PLATFORM),linux)
+-  fdbserver_LIBS += -ldl -lpthread -lrt
+-  fdbserver_LDFLAGS += -static-libstdc++ -static-libgcc
++  fdbserver_LDFLAGS += -static-libstdc++ -static-libgcc -ldl -lpthread -lrt
+ 
+   # GPerfTools profiler (uncomment to use)
+   # fdbserver_CFLAGS += -I/opt/gperftools/include -DUSE_GPERFTOOLS=1