diff --git a/flake.lock b/flake.lock index 5b670ef6..07fdacc6 100644 --- a/flake.lock +++ b/flake.lock @@ -73,11 +73,11 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1706163833, - "narHash": "sha256-Vw+jTVtKceT+ScaIn7tHy8JjRZZpmg2fAdoInLAsW/M=", + "lastModified": 1706250153, + "narHash": "sha256-OwEZ4UMLuz9fpH9ZbN7SSQvtDvUoj3RV32icp+8SIIc=", "owner": "nix-community", "repo": "fenix", - "rev": "043f63f55e9c9b808852ea82edee1f2a1af37e91", + "rev": "6d85102211fa954ece0a8a898ed91b4866b62ce7", "type": "github" }, "original": { @@ -184,11 +184,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1705856552, - "narHash": "sha256-JXfnuEf5Yd6bhMs/uvM67/joxYKoysyE3M2k6T3eWbg=", + "lastModified": 1706191920, + "narHash": "sha256-eLihrZAPZX0R6RyM5fYAWeKVNuQPYjAkCUBr+JNvtdE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "612f97239e2cc474c13c9dafa0df378058c5ad8d", + "rev": "ae5c332cbb5827f6b1f02572496b141021de335f", "type": "github" }, "original": { @@ -211,11 +211,11 @@ "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1706106882, - "narHash": "sha256-31DivWu0cC50gR2CgbGtLCf77nuiw4kdiI7B8ioqzLw=", + "lastModified": 1706158176, + "narHash": "sha256-qPiPcLBXU05j+Z2hCrtClJQfmrfSN/bUq2aODiCzde0=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "0d52934d19d7addcafcfda92a1d547b51556beec", + "rev": "38f7a3498e0d5f0113294bbdc08f867cd527e65f", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 4b456d24..bc69e59a 100644 --- a/flake.nix +++ b/flake.nix @@ -8,7 +8,6 @@ url = "github:nix-community/fenix"; inputs.nixpkgs.follows = "nixpkgs"; }; - crane = { # TODO: Switch back to upstream after [this issue][0] is fixed # @@ -30,27 +29,15 @@ , ... }: flake-utils.lib.eachDefaultSystem (system: let - pkgs = import nixpkgs { - inherit system; - - overlays = [ - (final: prev: { - rocksdb = prev.rocksdb.overrideAttrs (old: - let - version = "8.10.0"; - in + rocksdb' = pkgs: pkgs.rocksdb.overrideAttrs (old: { - inherit version; src = pkgs.fetchFromGitHub { owner = "facebook"; repo = "rocksdb"; - rev = "v${version}"; + rev = "v8.10.0"; hash = "sha256-KGsYDBc1fz/90YYNGwlZ0LUKXYsP1zyhP29TnRQwgjQ="; }; }); - }) - ]; - }; pkgsHost = nixpkgs.legacyPackages.${system}; @@ -76,8 +63,8 @@ ]; env = pkgs: { - ROCKSDB_INCLUDE_DIR = "${pkgs.rocksdb}/include"; - ROCKSDB_LIB_DIR = "${pkgs.rocksdb}/lib"; + ROCKSDB_INCLUDE_DIR = "${rocksdb'}/include"; + ROCKSDB_LIB_DIR = "${rocksdb'}/lib"; } // pkgs.lib.optionalAttrs pkgs.stdenv.hostPlatform.isStatic { ROCKSDB_STATIC = ""; @@ -93,7 +80,7 @@ stdenv.hostPlatform.isStatic ["-C" "relocation-model=static"] ++ lib.optionals - (stdenv.buildPlatform.config != pkgs.stdenv.hostPlatform.config) + (stdenv.buildPlatform.config != stdenv.hostPlatform.config) ["-l" "c"] ++ lib.optionals # This check has to match the one [here][0]. We only need to set @@ -102,10 +89,13 @@ # # [0]: https://github.com/NixOS/nixpkgs/blob/612f97239e2cc474c13c9dafa0df378058c5ad8d/pkgs/build-support/rust/lib/default.nix#L36-L39 ( - pkgs.stdenv.hostPlatform.isAarch64 - && pkgs.stdenv.hostPlatform.isStatic - && !pkgs.stdenv.isDarwin - && !pkgs.stdenv.cc.bintools.isLLVM + # Nixpkgs doesn't check for x86_64 here but we do, because I + # observed a failure building statically for x86_64 without + # including it here. Linkers are weird. + (stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isx86_64) + && stdenv.hostPlatform.isStatic + && !stdenv.isDarwin + && !stdenv.cc.bintools.isLLVM ) [ "-l"