diff options
author | Ben Sima <ben@bsima.me> | 2023-08-17 17:28:03 -0400 |
---|---|---|
committer | Ben Sima <ben@bsima.me> | 2023-08-17 22:43:38 -0400 |
commit | cc6aac612e36da3c9b9b4e47fc16ed512a79f2d9 (patch) | |
tree | e32cfb60890c4293465c34d31c5771882b7fcb02 /Biz/Bild/Builder.nix | |
parent | 204ccb2bcab7b6fa8fb4d8a26e65c591ae075343 (diff) |
Nixify rust build
Not getting deps yet but thats okay, I basically need to do a bunch of annoying
nix work to get rustPackages into a thing like pythonPackages.
Diffstat (limited to 'Biz/Bild/Builder.nix')
-rw-r--r-- | Biz/Bild/Builder.nix | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/Biz/Bild/Builder.nix b/Biz/Bild/Builder.nix index 2b1403a..7ce29a2 100644 --- a/Biz/Bild/Builder.nix +++ b/Biz/Bild/Builder.nix @@ -34,11 +34,11 @@ let src = lib.sources.cleanSourceWith {inherit filter; src = lib.sources.cleanSource root;}; - langdeps_ = pkgset: + langdeps_ = if langdeps == null || langdeps == [] then [] else - private.selectAttrs (lib.strings.splitString " " langdeps) pkgset; + private.selectAttrs (lib.strings.splitString " " langdeps) private.${packageSet}; sysdeps_ = if sysdeps == null || sysdeps == [] then [] @@ -48,14 +48,26 @@ let in { base = stdenv.mkDerivation rec { inherit name src BIZ_ROOT postUnpack; - buildInputs = [ (private.${packageSet} langdeps_) ] ++ sysdeps_; + buildInputs = langdeps_ ++ sysdeps_; + installPhase = "install -D ${name} $out/bin/${name}"; + buildPhase = compileLine; + }; + + + haskell = stdenv.mkDerivation rec { + inherit name src BIZ_ROOT postUnpack; + buildInputs = sysdeps_ ++ [ + (private.ghcWith (p: + (private.selectAttrs (lib.strings.splitString " " langdeps) p) + )) + ]; installPhase = "install -D ${name} $out/bin/${name}"; buildPhase = compileLine; }; python = buildPythonApplication rec { inherit name src BIZ_ROOT postUnpack; - propagatedBuildInputs = [ (private.${packageSet} langdeps_) ] ++ sysdeps_; + propagatedBuildInputs = [ (private.pythonWith (_: langdeps_)) ] ++ sysdeps_; buildInputs = sysdeps_; checkInputs = [(private.pythonWith (p: with p; [black mypy pylint]))]; checkPhase = '' |