Skip to content

Commit c9482a5

Browse files
authored
foundationdb: 7.1.32 -> 7.3.42 (NixOS#369145)
2 parents b9272ee + 3c5ffd9 commit c9482a5

File tree

10 files changed

+36
-183
lines changed

10 files changed

+36
-183
lines changed

nixos/doc/manual/release-notes/rl-2505.section.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,8 @@
151151

152152
- `ente-auth` now uses the name `enteauth` for its binary. The previous name was `ente_auth`.
153153

154+
- `foundationdb` was upgraded to 7.3.
155+
154156
- `fluxus` has been removed, as it depends on `racket_7_9` and had no updates in 9 years.
155157

156158
- `sm64ex-coop` has been removed as it was archived upstream. Consider migrating to `sm64coopdx`.

nixos/modules/services/databases/foundationdb.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ To enable FoundationDB, add the following to your
1818
```nix
1919
{
2020
services.foundationdb.enable = true;
21-
services.foundationdb.package = pkgs.foundationdb71; # FoundationDB 7.1.x
21+
services.foundationdb.package = pkgs.foundationdb73; # FoundationDB 7.r3.x
2222
}
2323
```
2424

@@ -68,7 +68,7 @@ necessary Python modules).
6868
```ShellSession
6969
a@link> cat fdb-status.py
7070
#! /usr/bin/env nix-shell
71-
#! nix-shell -i python -p python pythonPackages.foundationdb71
71+
#! nix-shell -i python -p python pythonPackages.foundationdb73
7272

7373
import fdb
7474
import json

pkgs/servers/foundationdb/cmake.nix

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# This builder is for FoundationDB CMake build system.
22

33
{ lib, fetchFromGitHub
4-
, cmake, ninja, python3, openjdk8, mono, pkg-config
5-
, msgpack-cxx, toml11
4+
, cmake, ninja, python3, openjdk, mono, pkg-config
5+
, msgpack-cxx, toml11, jemalloc, doctest
66

77
, gccStdenv, llvmPackages
88
, useClang ? false
@@ -37,9 +37,11 @@ let
3737
inherit rev hash;
3838
};
3939

40-
buildInputs = [ ssl boost msgpack-cxx toml11 ];
40+
buildInputs = [ ssl boost msgpack-cxx toml11 jemalloc ];
4141

42-
nativeBuildInputs = [ pkg-config cmake ninja python3 openjdk8 mono ]
42+
checkInputs = [ doctest ];
43+
44+
nativeBuildInputs = [ pkg-config cmake ninja python3 openjdk mono ]
4345
++ lib.optionals useClang [ llvmPackages.lld ];
4446

4547
separateDebugInfo = true;
@@ -55,9 +57,7 @@ let
5557
# > Could not find lz4_STATIC_LIBRARIES using the following names: liblz4.a
5658
"-DSSD_ROCKSDB_EXPERIMENTAL=FALSE"
5759

58-
# FoundationDB's CMake is hardcoded to pull in jemalloc as an external
59-
# project at build time.
60-
"-DUSE_JEMALLOC=FALSE"
60+
"-DBUILD_DOCUMENTATION=FALSE"
6161

6262
# LTO brings up overall build time, but results in much smaller
6363
# binaries for all users and the cache.
@@ -68,28 +68,30 @@ let
6868
# Same with LLD when Clang is available.
6969
(lib.optionalString useClang "-DUSE_LD=LLD")
7070
(lib.optionalString (!useClang) "-DUSE_LD=GOLD")
71-
] ++ lib.optionals (lib.versionOlder version "7.2.0")
72-
[ # FIXME: why can't openssl be found automatically?
71+
72+
# FIXME: why can't openssl be found automatically?
7373
"-DOPENSSL_USE_STATIC_LIBS=FALSE"
7474
"-DOPENSSL_CRYPTO_LIBRARY=${ssl.out}/lib/libcrypto.so"
7575
"-DOPENSSL_SSL_LIBRARY=${ssl.out}/lib/libssl.so"
7676
];
7777

7878
hardeningDisable = [ "fortify" ];
7979

80-
env.NIX_CFLAGS_COMPILE = toString [
81-
# Needed with GCC 12
82-
"-Wno-error=missing-template-keyword"
83-
# Needed to compile on aarch64
84-
(lib.optionalString stdenv.hostPlatform.isAarch64 "-march=armv8-a+crc")
85-
];
86-
8780
inherit patches;
8881

89-
# allow using any msgpack-cxx version
9082
postPatch = ''
83+
# allow using any msgpack-cxx version
9184
substituteInPlace cmake/GetMsgpack.cmake \
9285
--replace-warn 'find_package(msgpack-cxx 6 QUIET CONFIG)' 'find_package(msgpack-cxx QUIET CONFIG)'
86+
87+
# Use our doctest package
88+
substituteInPlace bindings/c/test/unit/third_party/CMakeLists.txt \
89+
--replace-fail '/opt/doctest_proj_2.4.8' '${doctest}/include'
90+
91+
# Upstream upgraded to Boost 1.86 with no code changes; see:
92+
# <https://github.com/apple/foundationdb/pull/11788>
93+
substituteInPlace cmake/CompileBoost.cmake \
94+
--replace-fail 'find_package(Boost 1.78.0 EXACT ' 'find_package(Boost '
9395
'';
9496

9597
# the install phase for cmake is pretty wonky right now since it's not designed to

pkgs/servers/foundationdb/default.nix

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,30 +8,30 @@
88
cmake,
99
ninja,
1010
python3,
11-
openjdk8,
11+
openjdk,
1212
mono,
1313
openssl,
14-
boost178,
14+
boost,
1515
pkg-config,
1616
msgpack-cxx,
1717
toml11,
18+
jemalloc,
19+
doctest,
1820
}@args:
1921

2022
let
2123
cmakeBuild = import ./cmake.nix args;
2224
in
2325
{
24-
foundationdb71 = cmakeBuild {
25-
version = "7.1.32";
26-
hash = "sha256-CNJ4w1ECadj2KtcfbBPBQpXQeq9BAiw54hUgRTWPFzY=";
27-
boost = boost178;
26+
foundationdb73 = cmakeBuild {
27+
version = "7.3.42";
28+
hash = "sha256-jQcm+HLai5da2pZZ7iLdN6fpQZxf5+/kkfv9OSXQ57c=";
29+
inherit boost;
2830
ssl = openssl;
2931

3032
patches = [
3133
./patches/disable-flowbench.patch
32-
./patches/don-t-run-tests-requiring-doctest.patch
3334
./patches/don-t-use-static-boost-libs.patch
34-
./patches/fix-open-with-O_CREAT.patch
3535
# GetMsgpack: add 4+ versions of upstream
3636
# https://github.com/apple/foundationdb/pull/10935
3737
(fetchpatch {

pkgs/servers/foundationdb/patches/don-t-run-tests-requiring-doctest.patch

Lines changed: 0 additions & 128 deletions
This file was deleted.

pkgs/servers/foundationdb/patches/fix-open-with-O_CREAT.patch

Lines changed: 0 additions & 25 deletions
This file was deleted.

pkgs/top-level/aliases.nix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -403,6 +403,7 @@ mapAliases {
403403
fmt_8 = throw "fmt_8 has been removed as it is obsolete and was no longer used in the tree"; # Added 2024-11-12
404404
foldingathome = throw "'foldingathome' has been renamed to/replaced by 'fahclient'"; # Converted to throw 2024-10-17
405405
forgejo-actions-runner = forgejo-runner; # Added 2024-04-04
406+
foundationdb71 = throw "foundationdb71 has been removed; please upgrade to foundationdb73"; # Added 2024-12-28
406407

407408
fractal-next = fractal; # added 2023-11-25
408409
framework-system-tools = framework-tool; # added 2023-12-09

pkgs/top-level/all-packages.nix

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3400,10 +3400,10 @@ with pkgs;
34003400
fdbPackages = dontRecurseIntoAttrs (callPackage ../servers/foundationdb { });
34013401

34023402
inherit (fdbPackages)
3403-
foundationdb71
3403+
foundationdb73
34043404
;
34053405

3406-
foundationdb = foundationdb71;
3406+
foundationdb = foundationdb73;
34073407

34083408
fuse-ext2 = darwin.apple_sdk_11_0.callPackage ../tools/filesystems/fuse-ext2 { };
34093409

pkgs/top-level/python-aliases.nix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,7 @@ mapAliases ({
233233
foundationdb52 = throw "foundationdb52 is no longer maintained, use foundationdb71 instead"; # added 2023-06-06
234234
foundationdb60 = throw "foundationdb60 is no longer maintained, use foundationdb71 instead"; # added 2023-06-06
235235
foundationdb61 = throw "foundationdb61 is no longer maintained, use foundationdb71 instead"; # added 2023-06-06
236+
foundationdb71 = throw "foundationdb71 has been removed, use foundationdb73 instead"; # added 2024-12-28
236237
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
237238
functools32 = throw "functool32 was removed from nixpkgs, because python 2.7 has reach end of life in early 2020"; # added 2024-05-16
238239
fritzprofiles = throw "fritzprofiles was removed from nixpkgs, because it was removed as dependency of home-assistant for which it was pacakged."; # added 2024-01-05

pkgs/top-level/python-packages.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4909,7 +4909,7 @@ self: super: with self; {
49094909

49104910
formulaic = callPackage ../development/python-modules/formulaic { };
49114911

4912-
foundationdb71 = callPackage ../servers/foundationdb/python.nix { foundationdb = pkgs.foundationdb71; };
4912+
foundationdb73 = callPackage ../servers/foundationdb/python.nix { foundationdb = pkgs.foundationdb73; };
49134913

49144914
fountains = callPackage ../development/python-modules/fountains { };
49154915

0 commit comments

Comments
 (0)