flake: Make building variants easier
parent
c263958d3b
commit
7dacccdbd0
70
flake.nix
70
flake.nix
|
@ -6,6 +6,7 @@
|
||||||
|
|
||||||
outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachDefaultSystem (system:
|
outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
|
inherit (nixpkgs) lib;
|
||||||
pkgs = import nixpkgs { inherit system; };
|
pkgs = import nixpkgs { inherit system; };
|
||||||
mkNocheck = drv: drv.overrideAttrs (o: {
|
mkNocheck = drv: drv.overrideAttrs (o: {
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
@ -13,48 +14,51 @@
|
||||||
});
|
});
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
packages = rec {
|
packages = lib.foldAttrs lib.const { }
|
||||||
u01 = pkgs.callPackage
|
(lib.flatten (lib.mapAttrsToList
|
||||||
({ stdenv, catch2_3, cmake }: stdenv.mkDerivation {
|
(name: v: {
|
||||||
name = "ecg-u01";
|
"${name}" = v;
|
||||||
|
"${name}-nocheck" = mkNocheck v;
|
||||||
src = ./u01;
|
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
|
||||||
checkInputs = [ catch2_3 ];
|
|
||||||
|
|
||||||
doCheck = true;
|
|
||||||
})
|
})
|
||||||
{ };
|
rec {
|
||||||
|
u01 = pkgs.callPackage
|
||||||
|
({ stdenv, catch2_3, cmake }: stdenv.mkDerivation {
|
||||||
|
name = "ecg-u01";
|
||||||
|
|
||||||
u02 = pkgs.callPackage
|
src = ./u01;
|
||||||
({ stdenv, catch2_3, cmake, freeglut, libGL, libGLU }: stdenv.mkDerivation {
|
|
||||||
name = "ecg-u02";
|
|
||||||
|
|
||||||
src = ./u02;
|
nativeBuildInputs = [ cmake ];
|
||||||
|
checkInputs = [ catch2_3 ];
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
doCheck = true;
|
||||||
buildInputs = [ freeglut libGL libGLU ];
|
})
|
||||||
checkInputs = [ catch2_3 ];
|
{ };
|
||||||
|
|
||||||
doCheck = true;
|
u02 = pkgs.callPackage
|
||||||
})
|
({ stdenv, catch2_3, cmake, freeglut, libGL, libGLU }: stdenv.mkDerivation {
|
||||||
{ };
|
name = "ecg-u02";
|
||||||
|
|
||||||
u03 = pkgs.callPackage
|
src = ./u02;
|
||||||
({ stdenv, cmake, freeglut, libGL, libGLU }: stdenv.mkDerivation {
|
|
||||||
name = "ecg-u03";
|
|
||||||
|
|
||||||
src = ./u03;
|
nativeBuildInputs = [ cmake ];
|
||||||
|
buildInputs = [ freeglut libGL libGLU ];
|
||||||
|
checkInputs = [ catch2_3 ];
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
doCheck = true;
|
||||||
buildInputs = [ freeglut libGL libGLU ];
|
})
|
||||||
})
|
{ };
|
||||||
{ };
|
|
||||||
|
|
||||||
u01-nocheck = mkNocheck u01;
|
u03 = pkgs.callPackage
|
||||||
u02-nocheck = mkNocheck u02;
|
({ stdenv, cmake, freeglut, libGL, libGLU }: stdenv.mkDerivation {
|
||||||
};
|
name = "ecg-u03";
|
||||||
|
|
||||||
|
src = ./u03;
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake ];
|
||||||
|
buildInputs = [ freeglut libGL libGLU ];
|
||||||
|
})
|
||||||
|
{ };
|
||||||
|
}));
|
||||||
|
|
||||||
devShells.default = pkgs.mkShell {
|
devShells.default = pkgs.mkShell {
|
||||||
nativeBuildInputs = with pkgs; [ catch2_3 cmake freeglut libGL libGLU reuse ];
|
nativeBuildInputs = with pkgs; [ catch2_3 cmake freeglut libGL libGLU reuse ];
|
||||||
|
|
Reference in New Issue