chore: remove cargo2nix
This commit changes from cargo2nix to just use `buildRustPackage`, which does not generate itermediate crate derivations for the build. This means that we lose dependency caching (for CI as well), but on the other hand it becomes much more cacheable for people that actually use Nix to add the dependencies.
This commit is contained in:
parent
723c347a1a
commit
4a435a69f0
|
@ -1,84 +1,6 @@
|
|||
{
|
||||
"nodes": {
|
||||
"cargo2nix": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-utils": [
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"rust-overlay": [
|
||||
"rust-overlay"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1655189312,
|
||||
"narHash": "sha256-gpJ57OgIebUpO+7F00VltxSEy6dz2x6HeJ5BcRM8rDA=",
|
||||
"owner": "cargo2nix",
|
||||
"repo": "cargo2nix",
|
||||
"rev": "c149357cc3d17f2849c73eb7a09d07a307cdcfe8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cargo2nix",
|
||||
"ref": "release-0.11.0",
|
||||
"repo": "cargo2nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"devshell": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1682700442,
|
||||
"narHash": "sha256-qjaAAcCYgp1pBBG7mY9z95ODUBZMtUpf0Qp3Gt/Wha0=",
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"rev": "fb6673fe9fe4409e3f43ca86968261e970918a83",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1650374568,
|
||||
"narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "b4a34015c698c7793d592d66adbab377907a2be8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"locked": {
|
||||
"lastModified": 1642700792,
|
||||
"narHash": "sha256-XqHrk7hFb+zBvRg6Ghl+AZDq03ov6OshJLiSWOoX5es=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "846b2ae0fc4cc943637d3d1def4454213e203cba",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
|
@ -96,7 +18,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_3": {
|
||||
"flake-utils_2": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
},
|
||||
|
@ -115,22 +37,6 @@
|
|||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1677383253,
|
||||
"narHash": "sha256-UfpzWfSxkfXHnb4boXZNaKsAcUrZT9Hw+tao1oZxd08=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "9952d6bc395f5841262b006fbace8dd7e143b634",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1682773483,
|
||||
"narHash": "sha256-FN7Zf+gQpYQUzt9LeJv6yGnvbqaBb97RjFtNnfu9OB4=",
|
||||
|
@ -145,7 +51,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681358109,
|
||||
"narHash": "sha256-eKyxW4OohHQx9Urxi7TQlFBTDWII+F+x2hklDOQPB50=",
|
||||
|
@ -163,17 +69,15 @@
|
|||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"cargo2nix": "cargo2nix",
|
||||
"devshell": "devshell",
|
||||
"flake-utils": "flake-utils_2",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"rust-overlay": "rust-overlay"
|
||||
}
|
||||
},
|
||||
"rust-overlay": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_3",
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
"flake-utils": "flake-utils_2",
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1682734733,
|
||||
|
|
89
flake.nix
89
flake.nix
|
@ -6,75 +6,68 @@
|
|||
#
|
||||
{
|
||||
inputs = {
|
||||
cargo2nix = {
|
||||
url = "github:cargo2nix/cargo2nix/release-0.11.0";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
inputs.flake-utils.follows = "flake-utils";
|
||||
inputs.rust-overlay.follows = "rust-overlay";
|
||||
};
|
||||
nixpkgs.url = "github:nixos/nixpkgs";
|
||||
rust-overlay.url = "github:oxalica/rust-overlay";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
nixpkgs.url = "github:nixos/nixpkgs";
|
||||
devshell.url = "github:numtide/devshell";
|
||||
};
|
||||
|
||||
outputs = {
|
||||
self,
|
||||
cargo2nix,
|
||||
rust-overlay,
|
||||
nixpkgs,
|
||||
flake-utils,
|
||||
devshell,
|
||||
}:
|
||||
flake-utils.lib.eachDefaultSystem (
|
||||
system: let
|
||||
outputs = { self, rust-overlay, nixpkgs, flake-utils }:
|
||||
flake-utils.lib.eachDefaultSystem (system:
|
||||
let
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
overlays = [cargo2nix.overlays.default devshell.overlays.default];
|
||||
overlays = [ rust-overlay.overlays.default ];
|
||||
};
|
||||
|
||||
deno = nixpkgs.legacyPackages.${system}.deno;
|
||||
|
||||
rustPkgs = pkgs.rustBuilder.makePackageSet {
|
||||
rustVersion = "1.69.0";
|
||||
packageFun = import ./Cargo.nix;
|
||||
aiken = pkgs.rustPlatform.buildRustPackage {
|
||||
name = "aiken";
|
||||
version = "1.0.11-alpha";
|
||||
|
||||
buildInputs = with pkgs; [ openssl ];
|
||||
nativeBuildInputs = with pkgs; [ pkg-config openssl ];
|
||||
|
||||
src = pkgs.lib.cleanSourceWith { src = self; };
|
||||
|
||||
cargoLock.lockFile = ./Cargo.lock;
|
||||
};
|
||||
|
||||
commonCategory = y: builtins.map (x: x // {category = y;});
|
||||
commonCategory = y: builtins.map (x: x // { category = y; });
|
||||
|
||||
packages = {
|
||||
aiken = (rustPkgs.workspace.aiken {}).bin;
|
||||
aiken = aiken;
|
||||
default = packages.aiken;
|
||||
};
|
||||
|
||||
aikenCmds = commonCategory "Aiken Development" [
|
||||
{
|
||||
name = "aiken";
|
||||
help = "Aiken toolchain";
|
||||
package = packages.aiken;
|
||||
}
|
||||
];
|
||||
aikenCmds = commonCategory "Aiken Development" [{
|
||||
name = "aiken";
|
||||
help = "Aiken toolchain";
|
||||
package = packages.aiken;
|
||||
}];
|
||||
|
||||
gitRev = if (builtins.hasAttr "rev" self)
|
||||
then self.rev
|
||||
else "dirty";
|
||||
gitRev = if (builtins.hasAttr "rev" self) then self.rev else "dirty";
|
||||
in {
|
||||
inherit packages;
|
||||
devShell = rustPkgs.workspaceShell {
|
||||
packages = [deno];
|
||||
shellHook =
|
||||
''
|
||||
|
||||
devShells.aiken = pkgs.mkShell {
|
||||
name = "aiken";
|
||||
motd = ''
|
||||
Aiken
|
||||
$(type -p menu &>/dev/null && menu)'';
|
||||
commands = aikenCmds;
|
||||
|
||||
packages = [
|
||||
deno
|
||||
|
||||
(pkgs.rust-bin.stable.latest.default.override {
|
||||
extensions = [ "rust-src" "clippy" "rustfmt" ];
|
||||
})
|
||||
];
|
||||
|
||||
shellHook = ''
|
||||
export GIT_REVISION=${gitRev}
|
||||
'';
|
||||
};
|
||||
devShells = {
|
||||
aiken = pkgs.devshell.mkShell {
|
||||
name = "aiken";
|
||||
motd = '' Aiken
|
||||
$(type -p menu &>/dev/null && menu)'';
|
||||
commands = aikenCmds;
|
||||
};
|
||||
};
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue