-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathflake.nix
34 lines (31 loc) · 1.01 KB
/
flake.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
{
inputs = { systems.url = "github:nix-systems/default"; };
outputs = { self, nixpkgs, systems }:
let eachSystem = nixpkgs.lib.genAttrs (import systems);
in {
devShells = eachSystem (system:
let pkgs = import nixpkgs { inherit system; };
in {
default =
pkgs.mkShell { packages = [ pkgs.gnumake pkgs.flex pkgs.bison ]; };
});
packages = eachSystem (system:
let
pkgs = import nixpkgs { inherit system; };
mingw = pkgs.pkgsCross.mingw32;
drv-args = {
src = self;
nativeBuildInputs = [ pkgs.flex pkgs.bison ];
name = "pjass";
buildPhase = "make pjass";
installPhase = "install -Dt $out/bin pjass";
};
in {
pjass = pkgs.stdenv.mkDerivation drv-args;
pjass-mingw = mingw.stdenv.mkDerivation (drv-args // {
CFLAGS = "-O2";
installPhase = "install -Dt $out/bin pjass.exe";
});
});
};
}