summary refs log tree commit diff
diff options
context:
space:
mode:
authorWeijia Wang <9713184+wegank@users.noreply.github.com>2023-06-06 16:34:31 +0300
committerWeijia Wang <9713184+wegank@users.noreply.github.com>2023-06-06 16:34:31 +0300
commit03ae11014e016425300e95b180376c8cfd6ca32d (patch)
treecc6c1518ad973cd385750945467977952c85e0d2
parentac6d8999f034ca9971e76cf110c3f50046fc0c9a (diff)
downloadnixpkgs-03ae11014e016425300e95b180376c8cfd6ca32d.tar
nixpkgs-03ae11014e016425300e95b180376c8cfd6ca32d.tar.gz
nixpkgs-03ae11014e016425300e95b180376c8cfd6ca32d.tar.bz2
nixpkgs-03ae11014e016425300e95b180376c8cfd6ca32d.tar.lz
nixpkgs-03ae11014e016425300e95b180376c8cfd6ca32d.tar.xz
nixpkgs-03ae11014e016425300e95b180376c8cfd6ca32d.tar.zst
nixpkgs-03ae11014e016425300e95b180376c8cfd6ca32d.zip
foundationdb{51,52,60,61}: drop
-rw-r--r--pkgs/servers/foundationdb/cmake.nix30
-rw-r--r--pkgs/servers/foundationdb/default.nix88
-rw-r--r--pkgs/servers/foundationdb/patches/clang-libcxx.patch52
-rw-r--r--pkgs/servers/foundationdb/patches/fix-scm-version.patch42
-rw-r--r--pkgs/servers/foundationdb/patches/gcc-fixes.patch138
-rw-r--r--pkgs/servers/foundationdb/patches/include-fixes-6.0.patch137
-rw-r--r--pkgs/servers/foundationdb/patches/ldflags-5.1.patch90
-rw-r--r--pkgs/servers/foundationdb/patches/ldflags-5.2.patch90
-rw-r--r--pkgs/servers/foundationdb/patches/ldflags-6.0.patch78
-rw-r--r--pkgs/servers/foundationdb/patches/stdexcept-6.1.patch24
-rw-r--r--pkgs/servers/foundationdb/patches/suppress-clang-warnings.patch34
-rw-r--r--pkgs/servers/foundationdb/test-list.txt80
-rw-r--r--pkgs/servers/foundationdb/vsmake.nix150
-rw-r--r--pkgs/top-level/aliases.nix4
-rw-r--r--pkgs/top-level/all-packages.nix9
-rw-r--r--pkgs/top-level/python-aliases.nix4
-rw-r--r--pkgs/top-level/python-packages.nix4
17 files changed, 19 insertions, 1035 deletions
diff --git a/pkgs/servers/foundationdb/cmake.nix b/pkgs/servers/foundationdb/cmake.nix
index 6f22fb02a3d..f01b20c9386 100644
--- a/pkgs/servers/foundationdb/cmake.nix
+++ b/pkgs/servers/foundationdb/cmake.nix
@@ -1,7 +1,7 @@
 # This builder is for FoundationDB CMake build system.
 
 { lib, fetchFromGitHub
-, cmake, ninja, python3, openjdk, mono, pkg-config
+, cmake, ninja, python3, openjdk8, mono, pkg-config
 , msgpack, toml11
 
 , gccStdenv, llvmPackages
@@ -12,8 +12,6 @@
 let
   stdenv = if useClang then llvmPackages.libcxxStdenv else gccStdenv;
 
-  tests = builtins.replaceStrings [ "\n" ] [ " " ] (lib.fileContents ./test-list.txt);
-
   # Only even numbered versions compile on aarch64; odd numbered versions have avx enabled.
   avxEnabled = version:
     let
@@ -39,10 +37,9 @@ let
           inherit rev sha256;
         };
 
-        buildInputs = [ ssl boost ]
-          ++ lib.optionals (lib.versionAtLeast version "7.1.0") [ msgpack toml11 ];
+        buildInputs = [ ssl boost msgpack toml11 ];
 
-        nativeBuildInputs = [ pkg-config cmake ninja python3 openjdk mono ]
+        nativeBuildInputs = [ pkg-config cmake ninja python3 openjdk8 mono ]
           ++ lib.optionals useClang [ llvmPackages.lld ];
 
         separateDebugInfo = true;
@@ -71,14 +68,7 @@ let
             # Same with LLD when Clang is available.
             (lib.optionalString useClang    "-DUSE_LD=LLD")
             (lib.optionalString (!useClang) "-DUSE_LD=GOLD")
-          ] ++ lib.optionals (lib.versionOlder version "7.0.0")
-          [ # FIXME: why can't libressl be found automatically?
-            "-DLIBRESSL_USE_STATIC_LIBS=FALSE"
-            "-DLIBRESSL_INCLUDE_DIR=${ssl.dev}"
-            "-DLIBRESSL_CRYPTO_LIBRARY=${ssl.out}/lib/libcrypto.so"
-            "-DLIBRESSL_SSL_LIBRARY=${ssl.out}/lib/libssl.so"
-            "-DLIBRESSL_TLS_LIBRARY=${ssl.out}/lib/libtls.so"
-          ] ++ lib.optionals (lib.versionAtLeast version "7.1.0" && lib.versionOlder version "7.2.0")
+          ] ++ lib.optionals (lib.versionOlder version "7.2.0")
           [ # FIXME: why can't openssl be found automatically?
             "-DOPENSSL_USE_STATIC_LIBS=FALSE"
             "-DOPENSSL_CRYPTO_LIBRARY=${ssl.out}/lib/libcrypto.so"
@@ -100,17 +90,9 @@ let
         # coherently install packages as most linux distros expect -- it's designed to build
         # packaged artifacts that are shipped in RPMs, etc. we need to add some extra code to
         # cmake upstream to fix this, and if we do, i think most of this can go away.
-        postInstall = lib.optionalString (lib.versionOlder version "7.0.0") ''
-          mv $out/fdbmonitor/fdbmonitor $out/bin/fdbmonitor && rm -rf $out/fdbmonitor
-          mkdir $out/libexec && ln -sfv $out/bin/fdbbackup $out/libexec/backup_agent
-          rm -rf $out/Library
-          rm -rf $out/lib/foundationdb/
-          mkdir $out/include/foundationdb && \
-            mv $out/include/*.h $out/include/*.options $out/include/foundationdb
-        '' + lib.optionalString (lib.versionAtLeast version "7.0.0") ''
+        postInstall = ''
           mv $out/sbin/fdbmonitor $out/bin/fdbmonitor
           mkdir $out/libexec && mv $out/usr/lib/foundationdb/backup_agent/backup_agent $out/libexec/backup_agent
-        '' + ''
           mv $out/sbin/fdbserver $out/bin/fdbserver
 
           rm -rf $out/etc $out/lib/foundationdb $out/lib/systemd $out/log $out/sbin $out/usr $out/var
@@ -144,7 +126,7 @@ let
           homepage    = "https://www.foundationdb.org";
           license     = licenses.asl20;
           platforms   = [ "x86_64-linux" ]
-            ++ lib.optionals (lib.versionAtLeast version "7.1.0" && !(avxEnabled version)) [ "aarch64-linux" ];
+            ++ lib.optionals (!(avxEnabled version)) [ "aarch64-linux" ];
           maintainers = with maintainers; [ thoughtpolice lostnet ];
        };
     };
diff --git a/pkgs/servers/foundationdb/default.nix b/pkgs/servers/foundationdb/default.nix
index 5dc25e01101..560b4ae892f 100644
--- a/pkgs/servers/foundationdb/default.nix
+++ b/pkgs/servers/foundationdb/default.nix
@@ -1,93 +1,13 @@
-{ gcc6Stdenv, gccStdenv, llvmPackages
-, lib, fetchurl, fetchpatch, fetchFromGitHub
+{ gccStdenv, llvmPackages
+, lib, fetchFromGitHub
 
-, cmake, ninja, which, findutils, m4, gawk
-, python2, python3, openjdk, mono, libressl, openssl, boost168, boost178
+, cmake, ninja, python3, openjdk8, mono, openssl, boost178
 , pkg-config, msgpack, toml11
 }@args:
 
 let
-  vsmakeBuild = import ./vsmake.nix args;
   cmakeBuild = import ./cmake.nix args;
-
-  python3-six-patch = fetchpatch {
-    name   = "update-python-six.patch";
-    url    = "https://github.com/apple/foundationdb/commit/4bd9efc4fc74917bc04b07a84eb065070ea7edb2.patch";
-    sha256 = "030679lmc86f1wzqqyvxnwjyfrhh54pdql20ab3iifqpp9i5mi85";
-  };
-
-  python3-print-patch = fetchpatch {
-    name   = "import-for-python-print.patch";
-    url    = "https://github.com/apple/foundationdb/commit/ded17c6cd667f39699cf663c0e87fe01e996c153.patch";
-    sha256 = "11y434w68cpk7shs2r22hyrpcrqi8vx02cw7v5x79qxvnmdxv2an";
-  };
-
-  glibc230-fix = fetchpatch {
-    url = "https://github.com/Ma27/foundationdb/commit/e133cb974b9a9e4e1dc2d4ac15881d31225c0197.patch";
-    sha256 = "1v9q2fyc73msigcykjnbmfig45zcrkrzcg87b0r6mxpnby8iryl1";
-  };
-
-in with builtins; {
-
-  # Older versions use the bespoke 'vsmake' build system
-  # ------------------------------------------------------
-
-  foundationdb51 = vsmakeBuild {
-    version = "5.1.7";
-    branch  = "release-5.1";
-    sha256  = "1rc472ih24f9s5g3xmnlp3v62w206ny0pvvw02bzpix2sdrpbp06";
-
-    patches = [
-      ./patches/ldflags-5.1.patch
-      ./patches/fix-scm-version.patch
-      ./patches/gcc-fixes.patch
-      python3-six-patch
-      python3-print-patch
-    ];
-  };
-
-  foundationdb52 = vsmakeBuild {
-    version = "5.2.8";
-    branch  = "release-5.2";
-    sha256  = "1kbmmhk2m9486r4kyjlc7bb3wd50204i0p6dxcmvl6pbp1bs0wlb";
-
-    patches = [
-      ./patches/ldflags-5.2.patch
-      ./patches/fix-scm-version.patch
-      ./patches/gcc-fixes.patch
-      python3-six-patch
-      python3-print-patch
-    ];
-  };
-
-  foundationdb60 = vsmakeBuild {
-    version = "6.0.18";
-    branch  = "release-6.0";
-    sha256  = "0q1mscailad0z7zf1nypv4g7gx3damfp45nf8nzyq47nsw5gz69p";
-
-    patches = [
-      ./patches/ldflags-6.0.patch
-      ./patches/include-fixes-6.0.patch
-    ];
-  };
-
-  # 6.1 and later versions should always use CMake
-  # ------------------------------------------------------
-
-  foundationdb61 = cmakeBuild {
-    version = "6.1.13";
-    sha256  = "10vd694dcnh2pp91mri1m80kfbwjanhiy50c53c5ncqfa6pwvk00";
-    boost   = boost168;
-    ssl     = libressl;
-
-    patches = [
-      ./patches/clang-libcxx.patch
-      ./patches/suppress-clang-warnings.patch
-      ./patches/stdexcept-6.1.patch
-      glibc230-fix
-    ];
-  };
-
+in {
   foundationdb71 = cmakeBuild {
     version = "7.1.30";
     sha256  = "sha256-dAnAE1m2NZLHgP4QJvURBPcxArXvWWdhqEYwh3tU+tU";
diff --git a/pkgs/servers/foundationdb/patches/clang-libcxx.patch b/pkgs/servers/foundationdb/patches/clang-libcxx.patch
deleted file mode 100644
index ebbacdf871e..00000000000
--- a/pkgs/servers/foundationdb/patches/clang-libcxx.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-commit 7ed4745a092a203f92fc37ab5894e92117db0c94
-Author: Austin Seipp <aseipp@pobox.com>
-Date:   Sat May 4 15:23:35 2019 -0500
-
-    flow: fix a build failure with Clang/libcxx on Linux
-    
-    11bd7d7da introduced a hack on Linux to work around a missing symbol in
-    libstdc++'s _pic library on Ubuntu. Unfortunately, this causes the build
-    to fail when using Clang, as it doesn't believe this symbol is part of
-    its headers in c++11 mode.
-    
-    Unfortunately there's no good way to distinguish libcxx from libstdc++
-    with the preprocessor, so we merely gate it by only checking for clang,
-    iff we are on Linux.
-    
-    With this change, Clang 8.x can build FoundationDB on Linux using libcxx
-    as the standard C++ library.
-    
-    Signed-off-by: Austin Seipp <aseipp@pobox.com>
-
-diff --git a/flow/Platform.cpp b/flow/Platform.cpp
-index 3d3f1ac0..9f21dfd4 100644
---- a/flow/Platform.cpp
-+++ b/flow/Platform.cpp
-@@ -2841,13 +2841,26 @@ void setupSlowTaskProfiler() {
- #endif
- }
- 
--#ifdef __linux__
-+#if defined(__linux__) && !defined(__clang__)
- // There's no good place to put this, so it's here.
- // Ubuntu's packaging of libstdc++_pic offers different symbols than libstdc++.  Go figure.
- // Notably, it's missing a definition of std::istream::ignore(long), which causes compilation errors
- // in the bindings.  Thus, we provide weak versions of their definitions, so that if the
- // linked-against libstdc++ is missing their definitions, we'll be able to use the provided
- // ignore(long, int) version.
-+//
-+// Note that this hack is DISABLED when we use Clang. It is only needed when we statically link
-+// to the _pic libraries, but only official FDB Linux binaries are built this way using GCC. If we
-+// don't use the _pic libraries, then this hack is entirely unneeded -- likely the case when using
-+// Clang on Linux.
-+//
-+// Doing this allows us to use LLVM's libc++ with Clang on Linux -- otherwise, providing
-+// a weak symbol definition for an internal (non-public) class member fails (due to that member
-+// being non-existant on libc++.) See upstream GitHub issue #1533 for more information.
-+//
-+// TODO FIXME: Obliterate this when the official build environment is upgraded beyond Ubuntu 14.04.
-+// (This problem should be fixed in later LTS releases.)
-+
- #include <istream>
- namespace std {
- typedef basic_istream<char, std::char_traits<char>> char_basic_istream;
diff --git a/pkgs/servers/foundationdb/patches/fix-scm-version.patch b/pkgs/servers/foundationdb/patches/fix-scm-version.patch
deleted file mode 100644
index 0e0df7ade82..00000000000
--- a/pkgs/servers/foundationdb/patches/fix-scm-version.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-diff --git a/build/scver.mk b/build/scver.mk
-index bdae8be..7539864 100644
---- a/build/scver.mk
-+++ b/build/scver.mk
-@@ -98,33 +98,10 @@ endif
- GITPRESENT := $(wildcard $(FDBDIR)/.git)
- HGPRESENT := $(wildcard $(FDBDIR)/.hg)
- 
--# Use Git, if not missing
--ifneq ($(GITPRESENT),)
--	SCVER := $(shell cd "$(FDBDIR)" && git --version 2>/dev/null)
--	ifneq ($(SCVER),)
--		VERSION_ID := $(shell cd "$(FDBDIR)" && git rev-parse --verify HEAD)
--		SOURCE_CONTROL := GIT
--		SCBRANCH := $(shell cd "$(FDBDIR)" && git rev-parse --abbrev-ref HEAD)
--	else
--$(error Missing git executable on $(PLATFORM) )
--	endif
--# Otherwise, use Mercurial
--else
--	# Otherwise, use Mercurial, if not missing
--	ifneq ($(HGPRESENT),)
--		SCVER := $(shell cd "$(FDBDIR)" && hg --version 2>/dev/null)
--		ifdef SCVER
--			VERSION_ID := $(shell cd "$(FDBDIR)" && hg id -n)
--			SOURCE_CONTROL := MERCURIAL
--			SCBRANCH := $(shell cd "$(FDBDIR)" && hg branch)
--		else
--$(error Missing hg executable on $(PLATFORM))
--		endif
--	else
--	FDBFILES := (shell ls -la $(FDBDIR))
--$(error Missing source control information for source on $(PLATFORM) in directory: $(FDBDIR) with files: $(FDBFILES))
--	endif
--endif
-+# NixOS-specific non-VCS packaging, filled out by the nix build
-+SOURCE_CONTROL := GIT
-+VERSION_ID     := @NIXOS_FDB_VERSION_ID@
-+SCBRANCH       := @NIXOS_FDB_SCBRANCH@
- 
- # Set the RELEASE variable based on the KVRELEASE variable.
- ifeq ($(KVRELEASE),1)
diff --git a/pkgs/servers/foundationdb/patches/gcc-fixes.patch b/pkgs/servers/foundationdb/patches/gcc-fixes.patch
deleted file mode 100644
index a5c77d463fb..00000000000
--- a/pkgs/servers/foundationdb/patches/gcc-fixes.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-diff --git a/fdbrpc/ContinuousSample.h b/fdbrpc/ContinuousSample.h
-index 54ff1b109..577c228ae 100644
---- a/fdbrpc/ContinuousSample.h
-+++ b/fdbrpc/ContinuousSample.h
-@@ -26,6 +26,7 @@
- #include "flow/IRandom.h"
- #include <vector>
- #include <algorithm>
-+#include <cmath>
- 
- template <class T>
- class ContinuousSample {
-diff --git a/fdbrpc/Smoother.h b/fdbrpc/Smoother.h
-index 3ed8e6e98..fb4694750 100644
---- a/fdbrpc/Smoother.h
-+++ b/fdbrpc/Smoother.h
-@@ -23,6 +23,7 @@
- #pragma once
- 
- #include "flow/flow.h"
-+#include <cmath>
- 
- struct Smoother {
- 	// Times (t) are expected to be nondecreasing
-@@ -90,4 +91,4 @@ struct TimerSmoother {
- 	double time, total, estimate;
- };
- 
--#endif
-\ No newline at end of file
-+#endif
-diff --git a/fdbrpc/libcoroutine/Coro.c b/fdbrpc/libcoroutine/Coro.c
-index cbfdc8fde..9993cee44 100644
---- a/fdbrpc/libcoroutine/Coro.c
-+++ b/fdbrpc/libcoroutine/Coro.c
-@@ -66,6 +66,8 @@ VALGRIND_STACK_DEREGISTER((coro)->valgrindStackId)
- #define STACK_DEREGISTER(coro)
- #endif
- 
-+#pragma GCC diagnostic ignored "-Wreturn-local-addr"
-+
- // Define outside
- extern intptr_t g_stackYieldLimit;
- 
-diff --git a/fdbserver/Knobs.cpp b/fdbserver/Knobs.cpp
-index 819c513c6..acfbfe7db 100644
---- a/fdbserver/Knobs.cpp
-+++ b/fdbserver/Knobs.cpp
-@@ -20,6 +20,7 @@
- 
- #include "Knobs.h"
- #include "fdbrpc/Locality.h"
-+#include <cmath>
- 
- ServerKnobs const* SERVER_KNOBS = new ServerKnobs();
- 
-diff --git a/flow/Knobs.cpp b/flow/Knobs.cpp
-index b485a8495..82541d439 100644
---- a/flow/Knobs.cpp
-+++ b/flow/Knobs.cpp
-@@ -20,6 +20,7 @@
- 
- #include "Knobs.h"
- #include "flow/flow.h"
-+#include <cmath>
- 
- FlowKnobs const* FLOW_KNOBS = new FlowKnobs();
- 
-diff --git a/flow/Platform.cpp b/flow/Platform.cpp
-index 69dac889a..62bda9edb 100644
---- a/flow/Platform.cpp
-+++ b/flow/Platform.cpp
-@@ -40,6 +40,7 @@
- #include <algorithm>
- 
- #include <sys/types.h>
-+#include <sys/sysmacros.h>
- #include <time.h>
- #include <sys/stat.h>
- #include <fcntl.h>
-@@ -623,7 +624,7 @@ void getDiskStatistics(std::string const& directory, uint64_t& currentIOs, uint6
- 		unsigned int minorId;
- 		disk_stream >> majorId;
- 		disk_stream >> minorId;
--		if(majorId == (unsigned int) major(buf.st_dev) && minorId == (unsigned int) minor(buf.st_dev)) {
-+		if(majorId == (unsigned int) gnu_dev_major(buf.st_dev) && minorId == (unsigned int) gnu_dev_minor(buf.st_dev)) {
- 			std::string ignore;
- 			uint64_t rd_ios;	/* # of reads completed */
- 			//	    This is the total number of reads completed successfully.
-diff --git a/flow/Profiler.actor.cpp b/flow/Profiler.actor.cpp
-index 27af613e6..69f38c237 100644
---- a/flow/Profiler.actor.cpp
-+++ b/flow/Profiler.actor.cpp
-@@ -35,8 +35,6 @@
- 
- extern volatile int profilingEnabled;
- 
--static uint64_t gettid() { return syscall(__NR_gettid); }
--
- struct SignalClosure {
- 	void (* func)(int, siginfo_t*, void*, void*);
- 	void *userdata;
-diff --git a/flow/TDMetric.actor.h b/flow/TDMetric.actor.h
-index 5421b83b5..711a96093 100755
---- a/flow/TDMetric.actor.h
-+++ b/flow/TDMetric.actor.h
-@@ -36,6 +36,7 @@
- #include "CompressedInt.h"
- #include <algorithm>
- #include <functional>
-+#include <cmath>
- 
- struct MetricNameRef {
- 	MetricNameRef() {}
-diff --git a/flow/flow.h b/flow/flow.h
-index 0c220afae..f685fbc63 100644
---- a/flow/flow.h
-+++ b/flow/flow.h
-@@ -248,19 +248,6 @@ public:
- 		}
- 	}
- 
--	bool operator == (ErrorOr const& o) const {
--		return error == o.error && (!present() || get() == o.get());
--	}
--	bool operator != (ErrorOr const& o) const {
--		return !(*this == o);
--	}
--
--	bool operator < (ErrorOr const& o) const {
--		if (error != o.error) return error < o.error;
--		if (!present()) return false;
--		return get() < o.get();
--	}
--
- 	bool isError() const { return error.code() != invalid_error_code; }
- 	bool isError(int code) const { return error.code() == code; }
- 	Error getError() const { ASSERT(isError()); return error; }
diff --git a/pkgs/servers/foundationdb/patches/include-fixes-6.0.patch b/pkgs/servers/foundationdb/patches/include-fixes-6.0.patch
deleted file mode 100644
index 93959def44f..00000000000
--- a/pkgs/servers/foundationdb/patches/include-fixes-6.0.patch
+++ /dev/null
@@ -1,137 +0,0 @@
-diff --git a/fdbrpc/ContinuousSample.h b/fdbrpc/ContinuousSample.h
-index 54ff1b109..577c228ae 100644
---- a/fdbrpc/ContinuousSample.h
-+++ b/fdbrpc/ContinuousSample.h
-@@ -26,6 +26,7 @@
- #include "flow/IRandom.h"
- #include <vector>
- #include <algorithm>
-+#include <cmath>
- 
- template <class T>
- class ContinuousSample {
-diff --git a/fdbrpc/Smoother.h b/fdbrpc/Smoother.h
-index 3ed8e6e98..f3e4504b6 100644
---- a/fdbrpc/Smoother.h
-+++ b/fdbrpc/Smoother.h
-@@ -23,6 +23,7 @@
- #pragma once
- 
- #include "flow/flow.h"
-+#include <cmath>
- 
- struct Smoother {
- 	// Times (t) are expected to be nondecreasing
-@@ -50,7 +51,7 @@ struct Smoother {
- 		double elapsed = t - time;
- 		if(elapsed) {
- 			time = t;
--			estimate += (total-estimate) * (1-exp( -elapsed/eFoldingTime ));
-+			estimate += (total-estimate) * (1-std::exp( -elapsed/eFoldingTime ));
- 		}
- 	}
- 
-@@ -83,11 +84,11 @@ struct TimerSmoother {
- 	void update(double t) {
- 		double elapsed = t - time;
- 		time = t;
--		estimate += (total-estimate) * (1-exp( -elapsed/eFoldingTime ));
-+		estimate += (total-estimate) * (1-std::exp( -elapsed/eFoldingTime ));
- 	}
- 
- 	double eFoldingTime;
- 	double time, total, estimate;
- };
- 
--#endif
-\ No newline at end of file
-+#endif
-diff --git a/fdbserver/Knobs.cpp b/fdbserver/Knobs.cpp
-index a924bc905..0dc70e7ac 100644
---- a/fdbserver/Knobs.cpp
-+++ b/fdbserver/Knobs.cpp
-@@ -20,6 +20,7 @@
- 
- #include "Knobs.h"
- #include "fdbrpc/Locality.h"
-+#include <cmath>
- 
- ServerKnobs const* SERVER_KNOBS = new ServerKnobs();
- 
-diff --git a/flow/Knobs.cpp b/flow/Knobs.cpp
-index 2d706dddd..5dbe08861 100644
---- a/flow/Knobs.cpp
-+++ b/flow/Knobs.cpp
-@@ -20,6 +20,7 @@
- 
- #include "Knobs.h"
- #include "flow/flow.h"
-+#include <cmath>
- 
- FlowKnobs const* FLOW_KNOBS = new FlowKnobs();
- 
-@@ -128,7 +129,7 @@ FlowKnobs::FlowKnobs(bool randomize, bool isSimulated) {
- 	init( MAX_METRICS,                                         600 );
- 	init( MAX_METRIC_SIZE,                                    2500 );
- 	init( MAX_METRIC_LEVEL,                                     25 );
--	init( METRIC_LEVEL_DIVISOR,                             log(4) );
-+	init( METRIC_LEVEL_DIVISOR,                        std::log(4) );
- 	init( METRIC_LIMIT_START_QUEUE_SIZE,                        10 );  // The queue size at which to start restricting logging by disabling levels
- 	init( METRIC_LIMIT_RESPONSE_FACTOR,                         10 );  // The additional queue size at which to disable logging of another level (higher == less restrictive)
- 
-diff --git a/flow/Platform.cpp b/flow/Platform.cpp
-index a754c8747..4d47fad32 100644
---- a/flow/Platform.cpp
-+++ b/flow/Platform.cpp
-@@ -98,6 +98,8 @@
- #include <sys/resource.h>
- /* Needed for crash handler */
- #include <signal.h>
-+/* Needed for major() and minor() with recent glibc */
-+#include <sys/sysmacros.h>
- #endif
- 
- #ifdef __APPLE__
-diff --git a/flow/Profiler.actor.cpp b/flow/Profiler.actor.cpp
-index 4603dcb77..78eda7278 100644
---- a/flow/Profiler.actor.cpp
-+++ b/flow/Profiler.actor.cpp
-@@ -35,8 +35,6 @@
- 
- extern volatile int profilingEnabled;
- 
--static uint64_t gettid() { return syscall(__NR_gettid); }
--
- struct SignalClosure {
- 	void (* func)(int, siginfo_t*, void*, void*);
- 	void *userdata;
-diff --git a/flow/TDMetric.actor.h b/flow/TDMetric.actor.h
-index 306352c39..fc63e12f9 100755
---- a/flow/TDMetric.actor.h
-+++ b/flow/TDMetric.actor.h
-@@ -35,6 +35,7 @@
- #include "genericactors.actor.h"
- #include "CompressedInt.h"
- #include <algorithm>
-+#include <cmath>
- #include <functional>
- 
- struct MetricNameRef {
-@@ -799,7 +800,7 @@ struct EventMetric : E, ReferenceCounted<EventMetric<E>>, MetricUtil<EventMetric
- 		if (x == 0.0)
- 			l = FLOW_KNOBS->MAX_METRIC_LEVEL-1;
- 		else
--			l = std::min(FLOW_KNOBS->MAX_METRIC_LEVEL-1, (int64_t)(::log(1.0/x) / FLOW_KNOBS->METRIC_LEVEL_DIVISOR));
-+			l = std::min(FLOW_KNOBS->MAX_METRIC_LEVEL-1, (int64_t)(std::log(1.0/x) / FLOW_KNOBS->METRIC_LEVEL_DIVISOR));
- 
- 		if(!canLog(l))
- 			return 0;
-@@ -1274,7 +1275,7 @@ public:
- 				l = std::min(
- 					FLOW_KNOBS->MAX_METRIC_LEVEL-1,
- 					(int64_t)(
--						log((toggleTime - tv.time) / x) /
-+						std::log((toggleTime - tv.time) / x) /
- 							FLOW_KNOBS->METRIC_LEVEL_DIVISOR
- 					)
- 				);
diff --git a/pkgs/servers/foundationdb/patches/ldflags-5.1.patch b/pkgs/servers/foundationdb/patches/ldflags-5.1.patch
deleted file mode 100644
index 4d523a7ecdd..00000000000
--- a/pkgs/servers/foundationdb/patches/ldflags-5.1.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-diff --git a/FDBLibTLS/local.mk b/FDBLibTLS/local.mk
-index 0b6eac8..b1891ca 100644
---- a/FDBLibTLS/local.mk
-+++ b/FDBLibTLS/local.mk
-@@ -1,6 +1,5 @@
- FDBLibTLS_CFLAGS := -fPIC -I/usr/local/include -I$(BOOSTDIR)
--FDBLibTLS_STATIC_LIBS := -ltls -lssl -lcrypto
--FDBLibTLS_LDFLAGS := -L/usr/local/lib -static-libstdc++ -static-libgcc -lrt
-+FDBLibTLS_LDFLAGS := -L/usr/local/lib -static-libstdc++ -static-libgcc -lrt -ltls -lssl -lcrypto
- FDBLibTLS_LDFLAGS += -Wl,-soname,FDBLibTLS.so -Wl,--version-script=FDBLibTLS/FDBLibTLS.map
- 
- # The plugin isn't a typical library, so it feels more sensible to have a copy
-diff --git a/bindings/c/local.mk b/bindings/c/local.mk
-index 44f0c31..7aea5a4 100644
---- a/bindings/c/local.mk
-+++ b/bindings/c/local.mk
-@@ -29,8 +29,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 2ef4fcb..6e59625 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 033fe7d..865fc92 100644
---- a/fdbbackup/local.mk
-+++ b/fdbbackup/local.mk
-@@ -25,8 +25,7 @@ fdbbackup_LDFLAGS := $(fdbrpc_LDFLAGS)
- fdbbackup_LIBS := lib/libfdbclient.a lib/libfdbrpc.a lib/libflow.a
- 
- 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 81a4a42..892c079 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
-+fdbcli_LIBS := lib/libfdbclient.a lib/libfdbrpc.a lib/libflow.a
- fdbcli_STATIC_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 78cad1b..36f2c0f 100644
---- a/fdbserver/local.mk
-+++ b/fdbserver/local.mk
-@@ -25,8 +25,7 @@ fdbserver_LDFLAGS := $(fdbrpc_LDFLAGS)
- fdbserver_LIBS := lib/libfdbclient.a lib/libfdbrpc.a lib/libflow.a
- 
- 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
diff --git a/pkgs/servers/foundationdb/patches/ldflags-5.2.patch b/pkgs/servers/foundationdb/patches/ldflags-5.2.patch
deleted file mode 100644
index ee5911e495f..00000000000
--- a/pkgs/servers/foundationdb/patches/ldflags-5.2.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-diff --git a/FDBLibTLS/local.mk b/FDBLibTLS/local.mk
-index 5e6b9cfb..73f4e5f3 100644
---- a/FDBLibTLS/local.mk
-+++ b/FDBLibTLS/local.mk
-@@ -1,6 +1,5 @@
- FDBLibTLS_CFLAGS := -fPIC -I/usr/local/include -I$(BOOSTDIR) -Ifdbrpc
--FDBLibTLS_STATIC_LIBS := -ltls -lssl -lcrypto
--FDBLibTLS_LDFLAGS := -L/usr/local/lib -static-libstdc++ -static-libgcc -lrt
-+FDBLibTLS_LDFLAGS := -L/usr/local/lib -static-libstdc++ -static-libgcc -lrt -ltls -lssl -lcrypto
- FDBLibTLS_LDFLAGS += -Wl,-soname,FDBLibTLS.so -Wl,--version-script=FDBLibTLS/FDBLibTLS.map
- 
- # The plugin isn't a typical library, so it feels more sensible to have a copy
-diff --git a/bindings/c/local.mk b/bindings/c/local.mk
-index 44f0c31b..7aea5a4f 100644
---- a/bindings/c/local.mk
-+++ b/bindings/c/local.mk
-@@ -29,8 +29,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 033fe7d4..865fc923 100644
---- a/fdbbackup/local.mk
-+++ b/fdbbackup/local.mk
-@@ -25,8 +25,7 @@ fdbbackup_LDFLAGS := $(fdbrpc_LDFLAGS)
- fdbbackup_LIBS := lib/libfdbclient.a lib/libfdbrpc.a lib/libflow.a
- 
- 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 81a4a42e..892c079c 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
-+fdbcli_LIBS := lib/libfdbclient.a lib/libfdbrpc.a lib/libflow.a
- fdbcli_STATIC_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 78cad1bf..36f2c0f7 100644
---- a/fdbserver/local.mk
-+++ b/fdbserver/local.mk
-@@ -25,8 +25,7 @@ fdbserver_LDFLAGS := $(fdbrpc_LDFLAGS)
- fdbserver_LIBS := lib/libfdbclient.a lib/libfdbrpc.a lib/libflow.a
- 
- 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
diff --git a/pkgs/servers/foundationdb/patches/ldflags-6.0.patch b/pkgs/servers/foundationdb/patches/ldflags-6.0.patch
deleted file mode 100644
index 1fa17a9615a..00000000000
--- a/pkgs/servers/foundationdb/patches/ldflags-6.0.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-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
diff --git a/pkgs/servers/foundationdb/patches/stdexcept-6.1.patch b/pkgs/servers/foundationdb/patches/stdexcept-6.1.patch
deleted file mode 100644
index 9ebe0c6c0fb..00000000000
--- a/pkgs/servers/foundationdb/patches/stdexcept-6.1.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/FDBLibTLS/FDBLibTLSPolicy.cpp b/FDBLibTLS/FDBLibTLSPolicy.cpp
-index 728ff871d..46e1dd289 100644
---- a/FDBLibTLS/FDBLibTLSPolicy.cpp
-+++ b/FDBLibTLS/FDBLibTLSPolicy.cpp
-@@ -31,6 +31,7 @@
- #include <algorithm>
- #include <exception>
- #include <map>
-+#include <stdexcept>
- #include <string>
- #include <vector>
- 
-diff --git a/FDBLibTLS/FDBLibTLSVerify.cpp b/FDBLibTLS/FDBLibTLSVerify.cpp
-index 594389916..1c8b9b50d 100644
---- a/FDBLibTLS/FDBLibTLSVerify.cpp
-+++ b/FDBLibTLS/FDBLibTLSVerify.cpp
-@@ -25,6 +25,7 @@
- #include <algorithm>
- #include <exception>
- #include <cstring>
-+#include <stdexcept>
- 
- static int hexValue(char c) {
- 	static char const digits[] = "0123456789ABCDEF";
diff --git a/pkgs/servers/foundationdb/patches/suppress-clang-warnings.patch b/pkgs/servers/foundationdb/patches/suppress-clang-warnings.patch
deleted file mode 100644
index 9d1ae992efc..00000000000
--- a/pkgs/servers/foundationdb/patches/suppress-clang-warnings.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-commit 8076537a52bb026941f13f5542395aac69ef0825
-Author: Austin Seipp <aseipp@pobox.com>
-Date:   Sat May 4 17:34:51 2019 -0500
-
-    cmake: add workarounds for NixOS-specific deficiencies [NixOS]
-    
-    The NixOS debug builder hook adds '-Wa,--compress-debug-sections' to the
-    link flags (it actually adds it to the compiler flags, but the compiler
-    is used for linking, so...). This makes the compiler angry when -Werror
-    is passed, because it's unused at link-time (-Wa applies to the
-    assembler). Suppress this warning with -Wno-unused-command-line-argument
-    
-    NB: we *could* use -Wno-error=unused-command-line-argument, but that
-    still results in warnings anyway, just not fatal ones. We'd like to
-    remove them all for the sake of the build output.
-    
-    Signed-off-by: Austin Seipp <aseipp@pobox.com>
-
-diff --git a/cmake/ConfigureCompiler.cmake b/cmake/ConfigureCompiler.cmake
-index 03af9c10..7d059375 100644
---- a/cmake/ConfigureCompiler.cmake
-+++ b/cmake/ConfigureCompiler.cmake
-@@ -119,6 +119,11 @@ else()
-   else()
-     add_compile_options(-Werror)
-   endif()
-+  if (CLANG)
-+    # aseipp: NixOS hack
-+    add_compile_options(-Wno-unused-command-line-argument)
-+    add_link_options(-Wno-unused-command-line-argument)
-+  endif()
-   add_compile_options($<$<BOOL:${GCC}>:-Wno-pragmas>)
-   add_compile_options(-Wno-error=format
-     -Wunused-variable
diff --git a/pkgs/servers/foundationdb/test-list.txt b/pkgs/servers/foundationdb/test-list.txt
deleted file mode 100644
index 3e9ce1428ad..00000000000
--- a/pkgs/servers/foundationdb/test-list.txt
+++ /dev/null
@@ -1,80 +0,0 @@
-fast/AtomicBackupCorrectness.txt
-fast/AtomicBackupToDBCorrectness.txt
-fast/AtomicOps.txt
-fast/AtomicOpsApiCorrectness.txt
-fast/BackupCorrectness.txt
-fast/BackupCorrectnessClean.txt
-fast/BackupToDBCorrectness.txt
-fast/BackupToDBCorrectnessClean.txt
-fast/CloggedSideband.txt
-fast/ConstrainedRandomSelector.txt
-fast/CycleAndLock.txt
-fast/CycleTest.txt
-fast/FuzzApiCorrectness.txt
-fast/FuzzApiCorrectnessClean.txt
-fast/IncrementTest.txt
-fast/InventoryTestAlmostReadOnly.txt
-fast/InventoryTestSomeWrites.txt
-fast/KillRegionCycle.txt
-fast/LongStackWriteDuringRead.txt
-fast/LowLatency.txt
-fast/MemoryLifetime.txt
-fast/MoveKeysCycle.txt
-fast/RandomSelector.txt
-fast/RandomUnitTests.txt
-fast/SelectorCorrectness.txt
-fast/Sideband.txt
-fast/SidebandWithStatus.txt
-fast/SwizzledRollbackSideband.txt
-fast/SystemRebootTestCycle.txt
-fast/TaskBucketCorrectness.txt
-fast/TimeKeeperCorrectness.txt
-fast/Unreadable.txt
-fast/VersionStamp.txt
-fast/Watches.txt
-fast/WriteDuringRead.txt
-fast/WriteDuringReadClean.txt
-rare/CheckRelocation.txt
-rare/ClogUnclog.txt
-rare/CloggedCycleWithKills.txt
-rare/ConflictRangeCheck.txt
-rare/ConflictRangeRYOWCheck.txt
-rare/CycleRollbackClogged.txt
-rare/CycleWithKills.txt
-rare/FuzzTest.txt
-rare/InventoryTestHeavyWrites.txt
-rare/LargeApiCorrectness.txt
-rare/LargeApiCorrectnessStatus.txt
-rare/RYWDisable.txt
-rare/RandomReadWriteTest.txt
-rare/SwizzledLargeApiCorrectness.txt
-slow/ApiCorrectness.txt
-slow/ApiCorrectnessAtomicRestore.txt
-slow/ApiCorrectnessSwitchover.txt
-slow/ClogWithRollbacks.txt
-slow/CloggedCycleTest.txt
-slow/CloggedStorefront.txt
-slow/CommitBug.txt
-slow/ConfigureTest.txt
-slow/CycleRollbackPlain.txt
-slow/DDBalanceAndRemove.txt
-slow/DDBalanceAndRemoveStatus.txt
-slow/FastTriggeredWatches.txt
-slow/LowLatencyWithFailures.txt
-slow/MoveKeysClean.txt
-slow/MoveKeysSideband.txt
-slow/RyowCorrectness.txt
-slow/Serializability.txt
-slow/SharedBackupCorrectness.txt
-slow/SharedBackupToDBCorrectness.txt
-slow/StorefrontTest.txt
-slow/SwizzledApiCorrectness.txt
-slow/SwizzledCycleTest.txt
-slow/SwizzledDdBalance.txt
-slow/SwizzledRollbackTimeLapse.txt
-slow/SwizzledRollbackTimeLapseIncrement.txt
-slow/VersionStampBackupToDB.txt
-slow/VersionStampSwitchover.txt
-slow/WriteDuringReadAtomicRestore.txt
-slow/WriteDuringReadSwitchover.txt
-slow/ddbalance.txt
diff --git a/pkgs/servers/foundationdb/vsmake.nix b/pkgs/servers/foundationdb/vsmake.nix
deleted file mode 100644
index 21ee2e4f848..00000000000
--- a/pkgs/servers/foundationdb/vsmake.nix
+++ /dev/null
@@ -1,150 +0,0 @@
-# This builder is for FoundationDB's original, somewhat strange visual studio +
-# make build system. In FoundationDB 6.1 and later, there's a new CMake system
-# (which will eventually become the default version.)
-{ gcc6Stdenv, lib, fetchurl, fetchFromGitHub
-
-, which, m4
-, python2, openjdk, mono, libressl
-, ...
-}:
-
-let
-  # hysterical raisins dictate a version of boost this old. however,
-  # we luckily do not need to build anything, we just need the header
-  # files.
-  boost152 = gcc6Stdenv.mkDerivation {
-    name = "boost-headers-1.52.0";
-
-    src = fetchurl {
-      url = "mirror://sourceforge/boost/boost_1_52_0.tar.bz2";
-      sha256 = "14mc7gsnnahdjaxbbslzk79rc0d12h1i681cd3srdwr3fzynlar2";
-    };
-
-    dontConfigure = true;
-    dontBuild = true;
-    installPhase = "mkdir -p $out/include && cp -R boost $out/include/";
-  };
-
-  makeFdb =
-    { version
-    , branch
-    , sha256
-
-    # the revision can be inferred from the fdb tagging policy
-    , rev    ? "refs/tags/${version}"
-
-    # in theory newer versions of fdb support newer boost versions, but they
-    # don't :( maybe one day
-    , boost ? boost152
-
-    # if an release is unofficial/a prerelease, then make sure this is set
-    , officialRelease ? true
-
-    , patches ? []
-    }: gcc6Stdenv.mkDerivation {
-        pname = "foundationdb";
-        inherit version;
-
-        src = fetchFromGitHub {
-          owner = "apple";
-          repo  = "foundationdb";
-          inherit rev sha256;
-        };
-
-        nativeBuildInputs = [ python2 openjdk which m4 mono ];
-        buildInputs = [ libressl boost ];
-
-        inherit patches;
-        postPatch = ''
-          # note: this does not do anything for 6.0+
-          substituteInPlace ./build/scver.mk \
-            --subst-var-by NIXOS_FDB_VERSION_ID "${rev}" \
-            --subst-var-by NIXOS_FDB_SCBRANCH   "${branch}"
-
-          substituteInPlace ./Makefile \
-            --replace 'shell which ccache' 'shell true' \
-            --replace -Werror ""
-
-          substituteInPlace ./Makefile \
-            --replace libstdc++_pic libstdc++
-
-          substituteInPlace ./build/link-validate.sh \
-            --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'
-        '';
-
-        separateDebugInfo = true;
-        enableParallelBuilding = true;
-
-        makeFlags = [ "all" "fdb_java" "fdb_python" ]
-          # Don't compile FDBLibTLS if we don't need it in 6.0 or later;
-          # it gets statically linked in
-          ++ lib.optionals (lib.versionOlder version "6.0") [ "fdb_c" ]
-          # Needed environment overrides
-          ++ [ "KVRELEASE=1"
-               "NOSTRIP=1"
-             ] ++ lib.optionals officialRelease [ "RELEASE=true" ];
-
-        # on 6.0 and later, we can specify all this information manually
-        configurePhase = lib.optionalString (lib.versionAtLeast version "6.0") ''
-          export SOURCE_CONTROL=GIT
-          export SCBRANCH="${branch}"
-          export VERSION_ID="${rev}"
-        '';
-
-        installPhase = ''
-          mkdir -vp $out/{bin,libexec/plugins} $lib/{lib,share/java} $dev/include/foundationdb
-
-        '' + lib.optionalString (lib.versionOlder version "6.0") ''
-          # we only copy the TLS library on < 6.0, since it's compiled-in otherwise
-          cp -v ./lib/libFDBLibTLS.so $out/libexec/plugins/FDBLibTLS.so
-        '' + ''
-
-          # C API
-          cp -v ./lib/libfdb_c.so                           $lib/lib
-          cp -v ./bindings/c/foundationdb/fdb_c.h           $dev/include/foundationdb
-          cp -v ./bindings/c/foundationdb/fdb_c_options.g.h $dev/include/foundationdb
-          cp -v ./fdbclient/vexillographer/fdb.options      $dev/include/foundationdb
-
-          # java
-          cp -v ./bindings/java/foundationdb-client.jar     $lib/share/java/fdb-java.jar
-
-          # python
-          cp LICENSE ./bindings/python
-          substitute ./bindings/python/setup.py.in ./bindings/python/setup.py \
-            --replace 'VERSION' "${version}"
-          rm -f ./bindings/python/setup.py.in
-          rm -f ./bindings/python/fdb/*.pth # remove useless files
-          rm -f ./bindings/python/*.rst ./bindings/python/*.mk
-
-          cp -R ./bindings/python/                          tmp-pythonsrc/
-          tar -zcf $pythonsrc --transform s/tmp-pythonsrc/python-foundationdb/ ./tmp-pythonsrc/
-
-          # binaries
-          for x in fdbbackup fdbcli fdbserver fdbmonitor; do
-            cp -v "./bin/$x" $out/bin;
-          done
-
-          ln -sfv $out/bin/fdbbackup $out/bin/dr_agent
-          ln -sfv $out/bin/fdbbackup $out/bin/fdbrestore
-          ln -sfv $out/bin/fdbbackup $out/bin/fdbdr
-
-          ln -sfv $out/bin/fdbbackup $out/libexec/backup_agent
-        '';
-
-        outputs = [ "out" "lib" "dev" "pythonsrc" ];
-
-        meta = with lib; {
-          description = "Open source, distributed, transactional key-value store";
-          homepage    = "https://www.foundationdb.org";
-          license     = licenses.asl20;
-          platforms   = [ "x86_64-linux" ];
-          maintainers = with maintainers; [ thoughtpolice ];
-       };
-    };
-in makeFdb
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index cbdaeb1b0b4..800dfa44263 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -524,6 +524,10 @@ mapAliases ({
   '';
 
   foomatic_filters = throw "'foomatic_filters' has been renamed to/replaced by 'foomatic-filters'"; # Converted to throw 2022-02-22
+  foundationdb51 = throw "foundationdb51 is no longer maintained, use foundationdb71 instead"; # added 2023-06-06
+  foundationdb52 = throw "foundationdb52 is no longer maintained, use foundationdb71 instead"; # added 2023-06-06
+  foundationdb60 = throw "foundationdb60 is no longer maintained, use foundationdb71 instead"; # added 2023-06-06
+  foundationdb61 = throw "foundationdb61 is no longer maintained, use foundationdb71 instead"; # added 2023-06-06
   foxitreader = throw "foxitreader has been removed because it had vulnerabilities and was unmaintained"; # added 2023-02-20
   fscryptctl-experimental = throw "The package fscryptctl-experimental has been removed. Please switch to fscryptctl"; # Added 2021-11-07
   fsharp41 = throw "fsharp41 has been removed, please use dotnet-sdk_5 or later";
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 34955002822..ead3624f895 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -7808,16 +7808,9 @@ with pkgs;
 
   fusuma = callPackage ../tools/inputmethods/fusuma { };
 
-  fdbPackages = dontRecurseIntoAttrs (callPackage ../servers/foundationdb {
-    openjdk = openjdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
-    libressl = libressl_3_4;
-  });
+  fdbPackages = dontRecurseIntoAttrs (callPackage ../servers/foundationdb { });
 
   inherit (fdbPackages)
-    foundationdb51
-    foundationdb52
-    foundationdb60
-    foundationdb61
     foundationdb71
   ;
 
diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix
index 5e531b9544e..f117211f1c2 100644
--- a/pkgs/top-level/python-aliases.nix
+++ b/pkgs/top-level/python-aliases.nix
@@ -114,6 +114,10 @@ mapAliases ({
   flask_testing = flask-testing; # added 2022-04-25
   flask_wtf = flask-wtf; # added 2022-05-24
   FormEncode = formencode; # added 2023-02-19
+  foundationdb51 = throw "foundationdb51 is no longer maintained, use foundationdb71 instead"; # added 2023-06-06
+  foundationdb52 = throw "foundationdb52 is no longer maintained, use foundationdb71 instead"; # added 2023-06-06
+  foundationdb60 = throw "foundationdb60 is no longer maintained, use foundationdb71 instead"; # added 2023-06-06
+  foundationdb61 = throw "foundationdb61 is no longer maintained, use foundationdb71 instead"; # added 2023-06-06
   functorch = throw "functorch is now part of the torch package and has therefore been removed. See https://github.com/pytorch/functorch/releases/tag/v1.13.0 for more info."; # added 2022-12-01
   garages-amsterdam = throw "garages-amsterdam has been renamed odp-amsterdam."; # added 2023-01-04
   garminconnect-ha = garminconnect; # added 2022-02-05
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 39e7f1158fc..5d6026ce290 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -3824,10 +3824,6 @@ self: super: with self; {
 
   formulaic = callPackage ../development/python-modules/formulaic { };
 
-  foundationdb51 = callPackage ../servers/foundationdb/python.nix { foundationdb = pkgs.foundationdb51; };
-  foundationdb52 = callPackage ../servers/foundationdb/python.nix { foundationdb = pkgs.foundationdb52; };
-  foundationdb60 = callPackage ../servers/foundationdb/python.nix { foundationdb = pkgs.foundationdb60; };
-  foundationdb61 = callPackage ../servers/foundationdb/python.nix { foundationdb = pkgs.foundationdb61; };
   foundationdb71 = callPackage ../servers/foundationdb/python.nix { foundationdb = pkgs.foundationdb71; };
 
   fountains = callPackage ../development/python-modules/fountains { };