fix(tools/magrathea): isolate from environment packages
This makes magrathea use the repostory version of nix and git. This is done in the pursuit of enforcing guaranteed unified experience of magrathea tool across all users of a `tvl-kit`-based repository. Especially among ubuntu users with uncontrolled set of packages and versions installed on their system. Not having this was giving build problems for `mg build` as one of the users has 2.17 version of nix that had inconsistent hash computation with 2.3. Change-Id: I3182faf4c545ac61f6cc1cc862dc23d51c1cd397 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9892 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
This commit is contained in:
parent
99f618bcb4
commit
e3fe6826f8
1 changed files with 20 additions and 4 deletions
|
@ -3,21 +3,37 @@
|
|||
# it is a tool for working with monorepos in the style of tvl's depot
|
||||
{ pkgs, ... }:
|
||||
|
||||
pkgs.stdenv.mkDerivation {
|
||||
let
|
||||
inherit (pkgs)
|
||||
stdenv
|
||||
chicken
|
||||
chickenPackages
|
||||
makeWrapper
|
||||
git
|
||||
nix
|
||||
lib
|
||||
;
|
||||
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = "magrathea";
|
||||
src = ./.;
|
||||
dontInstall = true;
|
||||
|
||||
nativeBuildInputs = [ pkgs.chicken ];
|
||||
buildInputs = with pkgs.chickenPackages.chickenEggs; [
|
||||
nativeBuildInputs = [ chicken makeWrapper ];
|
||||
buildInputs = with chickenPackages.chickenEggs; [
|
||||
matchable
|
||||
srfi-13
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [ pkgs.git ];
|
||||
propagatedBuildInputs = [ git ];
|
||||
|
||||
buildPhase = ''
|
||||
mkdir -p $out/bin
|
||||
csc -o $out/bin/mg -host -static ${./mg.scm}
|
||||
'';
|
||||
|
||||
fixupPhase = ''
|
||||
wrapProgram $out/bin/mg --prefix PATH ${lib.makeBinPath [ nix ]}
|
||||
'';
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue