chore(third_party/crate2nix): bump crate2nix to current HEAD
This will bring conditional features support. Also invoke crate2nixgenerate with the --all-features argument, so all dependencies, including the ones for optional features are included in the Cargo.nix file. Change-Id: I3bbcb200c9b481f660db89efba650ea4f7418a63 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9470 Reviewed-by: raitobezarius <tvl@lahfa.xyz> Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
This commit is contained in:
parent
15a3eca321
commit
10717605a2
3 changed files with 32 additions and 22 deletions
14
third_party/overlays/tvl.nix
vendored
14
third_party/overlays/tvl.nix
vendored
|
@ -1,6 +1,6 @@
|
|||
# This overlay is used to make TVL-specific modifications in the
|
||||
# nixpkgs tree, where required.
|
||||
{ depot, localSystem, ... }:
|
||||
{ lib, depot, localSystem, ... }:
|
||||
|
||||
self: super:
|
||||
let
|
||||
|
@ -109,20 +109,20 @@ depot.nix.readTree.drvTargets {
|
|||
}));
|
||||
|
||||
# Pin a newer version of crate2nix from git, which is not officially
|
||||
# released but supports `dep:`
|
||||
# released but supports `dep:` and conditional features
|
||||
crate2nix = super.crate2nix.overrideAttrs (old: rec {
|
||||
version = "0.11.0-rc.1";
|
||||
version = "unstable-2023-09-26";
|
||||
|
||||
src = self.fetchFromGitHub {
|
||||
owner = "kolloch";
|
||||
owner = "nix-community";
|
||||
repo = "crate2nix";
|
||||
rev = "v0.11.0-rc.1";
|
||||
hash = "sha256:02yvn61w16sgkdxa019l5y9i2ybyk8h4516718gmarqxx5ws2kz8";
|
||||
rev = "8a33aec8795dcc98afbb0cd1030bb1c939ede211";
|
||||
hash = "sha256-eFT2SUxTopxEvW0rcxSjQU6nbrQLI2FbyaVgtV8oiTk=";
|
||||
};
|
||||
|
||||
cargoDeps = old.cargoDeps.overrideAttrs (_: {
|
||||
inherit src;
|
||||
outputHash = "sha256:03yny9ikqzfpi2mr27r82g54an2s8k9lqi2i4fqalg7g0s2cr2yd";
|
||||
outputHash = "sha256-elEIWHxyY3iccprIcbQA6GWFiq/n5kozpGfw/OmoSIg=";
|
||||
});
|
||||
});
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# This file was @generated by crate2nix 0.10.0 with the command:
|
||||
# "generate"
|
||||
# This file was @generated by crate2nix 0.11.0-rc.4 with the command:
|
||||
# "generate" "--all-features"
|
||||
# See https://github.com/kolloch/crate2nix for more info.
|
||||
|
||||
{ nixpkgs ? <nixpkgs>
|
||||
|
@ -4102,7 +4102,7 @@ rec {
|
|||
# We can't filter paths with references in Nix 2.4
|
||||
# See https://github.com/NixOS/nix/issues/5410
|
||||
src =
|
||||
if (lib.versionOlder builtins.nixVersion "2.4pre20211007")
|
||||
if ((lib.versionOlder builtins.nixVersion "2.4pre20211007") || (lib.versionOlder "2.5" builtins.nixVersion))
|
||||
then lib.cleanSourceWith { filter = sourceFilter; src = ./nix_cli; }
|
||||
else ./nix_cli;
|
||||
dependencies = [
|
||||
|
@ -4125,7 +4125,7 @@ rec {
|
|||
# We can't filter paths with references in Nix 2.4
|
||||
# See https://github.com/NixOS/nix/issues/5410
|
||||
src =
|
||||
if (lib.versionOlder builtins.nixVersion "2.4pre20211007")
|
||||
if ((lib.versionOlder builtins.nixVersion "2.4pre20211007") || (lib.versionOlder "2.5" builtins.nixVersion))
|
||||
then lib.cleanSourceWith { filter = sourceFilter; src = ./nix-compat; }
|
||||
else ./nix-compat;
|
||||
dependencies = [
|
||||
|
@ -8293,7 +8293,7 @@ rec {
|
|||
# We can't filter paths with references in Nix 2.4
|
||||
# See https://github.com/NixOS/nix/issues/5410
|
||||
src =
|
||||
if (lib.versionOlder builtins.nixVersion "2.4pre20211007")
|
||||
if ((lib.versionOlder builtins.nixVersion "2.4pre20211007") || (lib.versionOlder "2.5" builtins.nixVersion))
|
||||
then lib.cleanSourceWith { filter = sourceFilter; src = ./castore; }
|
||||
else ./castore;
|
||||
dependencies = [
|
||||
|
@ -8425,7 +8425,7 @@ rec {
|
|||
# We can't filter paths with references in Nix 2.4
|
||||
# See https://github.com/NixOS/nix/issues/5410
|
||||
src =
|
||||
if (lib.versionOlder builtins.nixVersion "2.4pre20211007")
|
||||
if ((lib.versionOlder builtins.nixVersion "2.4pre20211007") || (lib.versionOlder "2.5" builtins.nixVersion))
|
||||
then lib.cleanSourceWith { filter = sourceFilter; src = ./cli; }
|
||||
else ./cli;
|
||||
dependencies = [
|
||||
|
@ -8488,7 +8488,7 @@ rec {
|
|||
# We can't filter paths with references in Nix 2.4
|
||||
# See https://github.com/NixOS/nix/issues/5410
|
||||
src =
|
||||
if (lib.versionOlder builtins.nixVersion "2.4pre20211007")
|
||||
if ((lib.versionOlder builtins.nixVersion "2.4pre20211007") || (lib.versionOlder "2.5" builtins.nixVersion))
|
||||
then lib.cleanSourceWith { filter = sourceFilter; src = ./eval; }
|
||||
else ./eval;
|
||||
libName = "tvix_eval";
|
||||
|
@ -8624,7 +8624,7 @@ rec {
|
|||
# We can't filter paths with references in Nix 2.4
|
||||
# See https://github.com/NixOS/nix/issues/5410
|
||||
src =
|
||||
if (lib.versionOlder builtins.nixVersion "2.4pre20211007")
|
||||
if ((lib.versionOlder builtins.nixVersion "2.4pre20211007") || (lib.versionOlder "2.5" builtins.nixVersion))
|
||||
then lib.cleanSourceWith { filter = sourceFilter; src = ./eval/builtin-macros; }
|
||||
else ./eval/builtin-macros;
|
||||
procMacro = true;
|
||||
|
@ -8661,7 +8661,7 @@ rec {
|
|||
# We can't filter paths with references in Nix 2.4
|
||||
# See https://github.com/NixOS/nix/issues/5410
|
||||
src =
|
||||
if (lib.versionOlder builtins.nixVersion "2.4pre20211007")
|
||||
if ((lib.versionOlder builtins.nixVersion "2.4pre20211007") || (lib.versionOlder "2.5" builtins.nixVersion))
|
||||
then lib.cleanSourceWith { filter = sourceFilter; src = ./serde; }
|
||||
else ./serde;
|
||||
dependencies = [
|
||||
|
@ -8691,7 +8691,7 @@ rec {
|
|||
# We can't filter paths with references in Nix 2.4
|
||||
# See https://github.com/NixOS/nix/issues/5410
|
||||
src =
|
||||
if (lib.versionOlder builtins.nixVersion "2.4pre20211007")
|
||||
if ((lib.versionOlder builtins.nixVersion "2.4pre20211007") || (lib.versionOlder "2.5" builtins.nixVersion))
|
||||
then lib.cleanSourceWith { filter = sourceFilter; src = ./store; }
|
||||
else ./store;
|
||||
dependencies = [
|
||||
|
@ -11624,11 +11624,21 @@ rec {
|
|||
explicitFeatures = dependency.features or [ ];
|
||||
additionalDependencyFeatures =
|
||||
let
|
||||
dependencyPrefix = (dependency.rename or dependency.name) + "/";
|
||||
dependencyFeatures =
|
||||
builtins.filter (f: lib.hasPrefix dependencyPrefix f) features;
|
||||
name = dependency.rename or dependency.name;
|
||||
stripPrefixMatch = prefix: s:
|
||||
if lib.hasPrefix prefix s
|
||||
then lib.removePrefix prefix s
|
||||
else null;
|
||||
extractFeature = feature: lib.findFirst
|
||||
(f: f != null)
|
||||
null
|
||||
(map (prefix: stripPrefixMatch prefix feature) [
|
||||
(name + "/")
|
||||
(name + "?/")
|
||||
]);
|
||||
dependencyFeatures = lib.filter (f: f != null) (map extractFeature features);
|
||||
in
|
||||
builtins.map (lib.removePrefix dependencyPrefix) dependencyFeatures;
|
||||
dependencyFeatures;
|
||||
in
|
||||
defaultOrNil ++ explicitFeatures ++ additionalDependencyFeatures;
|
||||
|
||||
|
|
|
@ -72,7 +72,7 @@ in
|
|||
# Run crate2nix generate in the current working directory, then
|
||||
# format the generated file with depotfmt.
|
||||
crate2nixGenerate = pkgs.writeShellScriptBin "crate2nix-generate" ''
|
||||
${pkgs.crate2nix}/bin/crate2nix generate
|
||||
${pkgs.crate2nix}/bin/crate2nix generate --all-features
|
||||
${depot.tools.depotfmt}/bin/depotfmt Cargo.nix
|
||||
'';
|
||||
|
||||
|
|
Loading…
Reference in a new issue