erbium: switch to using crate2nix from upstream
This commit is contained in:
parent
185ef2a819
commit
8ff8546339
2 changed files with 4 additions and 52 deletions
|
@ -1,44 +0,0 @@
|
||||||
{ depot, pkgs, lib, ... }:
|
|
||||||
{ name, src, crateName ? "", depsHash, crate2nixArgs ? {} }:
|
|
||||||
let
|
|
||||||
inherit (depot.third_party) crate2nix;
|
|
||||||
keepFiles = [ ./Cargo.toml ./Cargo.lock ];
|
|
||||||
deps = pkgs.stdenv.mkDerivation {
|
|
||||||
inherit src;
|
|
||||||
name = "${name}-deps";
|
|
||||||
|
|
||||||
buildInputs = [ crate2nix ];
|
|
||||||
|
|
||||||
buildPhase = ''
|
|
||||||
mkdir /tmp/cargo
|
|
||||||
export CARGO_HOME=/tmp/cargo
|
|
||||||
|
|
||||||
mkdir /tmp/gen
|
|
||||||
cp -R $src/* /tmp/gen
|
|
||||||
|
|
||||||
cd /tmp/gen
|
|
||||||
${crate2nix}/bin/crate2nix generate
|
|
||||||
|
|
||||||
mkdir $out
|
|
||||||
cp /tmp/gen/Cargo.nix $out/Cargo.nix
|
|
||||||
cat >$out/default.nix <<EOF
|
|
||||||
{ nixpkgs ? import <nixpkgs> {} }:
|
|
||||||
let cargo_nix = nixpkgs.callPackage ./Cargo.nix { inherit nixpkgs; };
|
|
||||||
in cargo_nix.${if crateName == "" then "rootCrate" else "workspaceMembers.${crateName}"}.build
|
|
||||||
EOF
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase = "true";
|
|
||||||
|
|
||||||
outputHash = depsHash;
|
|
||||||
outputHashMode = "recursive";
|
|
||||||
};
|
|
||||||
merged = pkgs.runCommand "${name}-merged" {
|
|
||||||
inherit src deps;
|
|
||||||
} ''
|
|
||||||
mkdir $out
|
|
||||||
cp -R $src/* $out/
|
|
||||||
cp $deps/default.nix $deps/Cargo.nix $out/
|
|
||||||
'';
|
|
||||||
in
|
|
||||||
import merged ({ nixpkgs = pkgs; } // crate2nixArgs)
|
|
|
@ -1,14 +1,10 @@
|
||||||
{ depot, pkgs, lib, ... }@args:
|
{ depot, pkgs, lib, ... }@args:
|
||||||
let
|
let
|
||||||
crate2nixify = import ./crate2nixify.nix args;
|
|
||||||
in
|
|
||||||
crate2nixify {
|
|
||||||
name = "erbium";
|
|
||||||
src = pkgs.fetchFromGitHub {
|
src = pkgs.fetchFromGitHub {
|
||||||
owner = "isomer";
|
owner = "isomer";
|
||||||
repo = "erbium";
|
repo = "erbium";
|
||||||
rev = "39465a183454005ca96cdf7fad8638dba192f9a2";
|
rev = "aff026d4f83ff055c704508d9a146ab12c901535";
|
||||||
hash = "sha256:10770s5bm0b0kl2q2irx78s0j5h00a8xyk1dqp9dj03vk4jbhs7q";
|
hash = "sha256:1gn41dy8s0c8bq2dckrilf7dlc54hhq14n51nhf1rfhqrbzily3w";
|
||||||
};
|
};
|
||||||
depsHash = "sha256:0a5bcp2jvayavia7kk8di8kdx0bdbc25p67nskypqynwgyz5ckva";
|
in
|
||||||
}
|
import src
|
||||||
|
|
Loading…
Reference in a new issue