diff --git a/Cargo.lock b/Cargo.lock index 1bae555b..c5ea2de4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2465,9 +2465,9 @@ dependencies = [ [[package]] name = "rust-librocksdb-sys" -version = "0.26.0+9.6.1" +version = "0.29.0+9.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4508cf0cb12feb8185556cebc1bf2e53925b415e7b5cb3bcaaff5d90f57eae4e" +checksum = "7431f14c28485bd13140e5b27298c22a3b96a0cc9f60a4f5318ae782b7288e9c" dependencies = [ "bindgen", "bzip2-sys", @@ -2481,9 +2481,9 @@ dependencies = [ [[package]] name = "rust-rocksdb" -version = "0.30.0" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98735c6ebacc6796c0f74814de76d99dd379df7afa7389c801ed11bba5782884" +checksum = "c4412bfff73ff8f0c458041934bee4f0bbf92488271e8e5d767679f4a670df44" dependencies = [ "libc", "rust-librocksdb-sys", diff --git a/Cargo.toml b/Cargo.toml index ef130acc..92b2c6db 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -119,7 +119,7 @@ rand = "0.8.5" regex = "1.11.1" reqwest = { version = "0.12.9", default-features = false, features = ["http2", "rustls-tls-native-roots", "socks"] } ring = "0.17.8" -rocksdb = { package = "rust-rocksdb", version = "0.30.0", features = ["lz4", "multi-threaded-cf", "zstd"], optional = true } +rocksdb = { package = "rust-rocksdb", version = "0.33.0", features = ["lz4", "multi-threaded-cf", "zstd"], optional = true } ruma = { git = "https://github.com/ruma/ruma", branch = "main", features = ["compat", "rand", "appservice-api-c", "client-api", "federation-api", "push-gateway-api-c", "server-util", "state-res", "unstable-msc2448", "unstable-msc3575", "unstable-exhaustive-types", "ring-compat", "unstable-unspecified" ] } rusqlite = { version = "0.32.1", optional = true, features = ["bundled"] } rustls = { version = "0.23.16", default-features = false, features = ["ring", "log", "logging", "std", "tls12"] } diff --git a/flake.lock b/flake.lock index 892de814..f2016994 100644 --- a/flake.lock +++ b/flake.lock @@ -241,6 +241,23 @@ "type": "github" } }, + "rocksdb": { + "flake": false, + "locked": { + "lastModified": 1730475155, + "narHash": "sha256-u5uuShM2SxHc9/zL4UU56IhCcR/ZQbzde0LgOYS44bM=", + "owner": "facebook", + "repo": "rocksdb", + "rev": "3c27a3dde0993210c5cc30d99717093f7537916f", + "type": "github" + }, + "original": { + "owner": "facebook", + "ref": "v9.7.4", + "repo": "rocksdb", + "type": "github" + } + }, "root": { "inputs": { "attic": "attic", @@ -250,6 +267,7 @@ "flake-utils": "flake-utils", "nix-filter": "nix-filter", "nixpkgs": "nixpkgs_2", + "rocksdb": "rocksdb", "rust-manifest": "rust-manifest" } }, diff --git a/flake.nix b/flake.nix index 55d0f9b8..aae3883b 100644 --- a/flake.nix +++ b/flake.nix @@ -8,6 +8,7 @@ flake-utils.url = "github:numtide/flake-utils?ref=main"; nix-filter.url = "github:numtide/nix-filter?ref=main"; nixpkgs.url = "github:NixOS/nixpkgs?ref=nixos-unstable"; + rocksdb = { url = "github:facebook/rocksdb?ref=v9.7.4"; flake = false; }; rust-manifest = { # Keep version in sync with rust-toolchain.toml diff --git a/nix/pkgs/rocksdb/default.nix b/nix/pkgs/rocksdb/default.nix index 4468c4d6..9aa62353 100644 --- a/nix/pkgs/rocksdb/default.nix +++ b/nix/pkgs/rocksdb/default.nix @@ -1,5 +1,6 @@ # Dependencies (keep sorted) -{ lib +{ inputs +, lib , rocksdb , rust-jemalloc-sys @@ -8,7 +9,14 @@ }: let - rocksdb' = rocksdb.override { + rocksdb' = (rocksdb.overrideAttrs (old: { + src = inputs.rocksdb; + version = lib.removePrefix + "v" + (builtins.fromJSON + (builtins.readFile ../../../flake.lock) + ).nodes.rocksdb.original.ref; + })).override { jemalloc = rust-jemalloc-sys; enableLiburing = false;