mirror of
https://gitlab.computer.surgery/matrix/grapevine.git
synced 2025-12-16 15:21:24 +01:00
40 lines
963 B
Nix
40 lines
963 B
Nix
# Dependencies (keep sorted)
|
|
{ inputs
|
|
, lib
|
|
, rocksdb
|
|
}:
|
|
|
|
let
|
|
rocksdb' = (rocksdb.overrideAttrs (old: {
|
|
src = inputs.rocksdb;
|
|
version = lib.removePrefix
|
|
"v"
|
|
(builtins.fromJSON
|
|
(builtins.readFile ../../../flake.lock)
|
|
).nodes.rocksdb.original.ref;
|
|
})).override {
|
|
enableLiburing = false;
|
|
};
|
|
|
|
cVersion = rocksdb'.version;
|
|
|
|
rustVersion = builtins.elemAt
|
|
(lib.splitString
|
|
"+"
|
|
(lib.findSingle
|
|
(x: x.name == "rust-librocksdb-sys")
|
|
(builtins.throw "Multiple rust-librocksdb-sys versions in Cargo.lock")
|
|
(builtins.throw "No rust-librocksdb-sys versions in Cargo.lock")
|
|
(builtins.fromTOML (builtins.readFile ../../../Cargo.lock)).package
|
|
).version
|
|
)
|
|
1;
|
|
in
|
|
|
|
if cVersion == rustVersion
|
|
then rocksdb'
|
|
else builtins.throw
|
|
(builtins.concatStringsSep " " [
|
|
"C version (${cVersion}) and Rust version (${rustVersion}) of RocksDB do"
|
|
"not match"
|
|
])
|