summaryrefslogtreecommitdiff
path: root/Biz/Bild/Builder.nix
diff options
context:
space:
mode:
Diffstat (limited to 'Biz/Bild/Builder.nix')
-rw-r--r--Biz/Bild/Builder.nix20
1 files changed, 17 insertions, 3 deletions
diff --git a/Biz/Bild/Builder.nix b/Biz/Bild/Builder.nix
index 7ce29a2..2b62b89 100644
--- a/Biz/Bild/Builder.nix
+++ b/Biz/Bild/Builder.nix
@@ -19,6 +19,8 @@ with builtins;
let
srcs_ = (lib.strings.splitString " " srcs) ++ [main];
+ isEmpty = x: x == null || x == [];
+
skip = ["_" ".direnv"];
filter = file: type:
if elem (baseNameOf file) skip then false
@@ -35,12 +37,12 @@ let
src = lib.sources.cleanSourceWith {inherit filter; src = lib.sources.cleanSource root;};
langdeps_ =
- if langdeps == null || langdeps == [] then
+ if isEmpty langdeps then
[]
else
private.selectAttrs (lib.strings.splitString " " langdeps) private.${packageSet};
sysdeps_ =
- if sysdeps == null || sysdeps == [] then
+ if isEmpty sysdeps then
[]
else
private.selectAttrs (lib.strings.splitString " " sysdeps) private.nixpkgs.pkgs;
@@ -53,7 +55,6 @@ in {
buildPhase = compileLine;
};
-
haskell = stdenv.mkDerivation rec {
inherit name src BIZ_ROOT postUnpack;
buildInputs = sysdeps_ ++ [
@@ -65,6 +66,19 @@ in {
buildPhase = compileLine;
};
+ c = stdenv.mkDerivation rec {
+ inherit name src BIZ_ROOT postUnpack;
+ buildInputs = langdeps_ ++ sysdeps_;
+ installPhase = "install -D ${name} $out/bin/${name}";
+ buildPhase = lib.strings.concatStringsSep " " [
+ compileLine
+ (if isEmpty langdeps then "" else
+ "$(pkg-config --cflags ${langdeps})")
+ (if isEmpty sysdeps then "" else
+ "$(pkg-config --libs ${sysdeps})")
+ ];
+ };
+
python = buildPythonApplication rec {
inherit name src BIZ_ROOT postUnpack;
propagatedBuildInputs = [ (private.pythonWith (_: langdeps_)) ] ++ sysdeps_;