2021-05-26 11:52:37 +02:00
|
|
|
{
|
2021-05-26 20:14:20 +02:00
|
|
|
inputs.nixpgks.url = "github:NixOS/nixpkgs/nixos-unstable";
|
2021-10-06 16:37:31 +02:00
|
|
|
inputs.flake-utils = {
|
|
|
|
url = "github:numtide/flake-utils";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2021-05-26 11:52:37 +02:00
|
|
|
|
2022-07-18 19:03:07 +02:00
|
|
|
outputs = {
|
|
|
|
self,
|
|
|
|
nixpkgs,
|
|
|
|
flake-utils,
|
|
|
|
...
|
|
|
|
} @ inputs:
|
|
|
|
flake-utils.lib.eachDefaultSystem (system: let
|
|
|
|
inherit (nixpkgs) lib;
|
|
|
|
pkgs = nixpkgs.legacyPackages.${system};
|
|
|
|
buildTools = [pkgs.cmake pkgs.ninja pkgs.gcc];
|
|
|
|
dependencies = [pkgs.ncurses pkgs.openssl pkgs.jansson];
|
|
|
|
runTests = false;
|
|
|
|
in rec {
|
|
|
|
formatter = pkgs.alejandra;
|
|
|
|
packages = {
|
|
|
|
libdict = pkgs.stdenv.mkDerivation {
|
|
|
|
pname = "libdict";
|
|
|
|
version = "1.0.1";
|
2021-05-26 11:52:37 +02:00
|
|
|
|
2022-07-18 19:03:07 +02:00
|
|
|
src = pkgs.fetchFromGitHub {
|
|
|
|
owner = "rtbrick";
|
|
|
|
repo = "libdict";
|
|
|
|
rev = "fea9fb240cfa08dc3bbfe425fb78466dbbf1aa56";
|
|
|
|
sha256 = "rnAvurPnmILMAB3Ingjw0lRJB6lcjdmUtPO6R3ek6e4=";
|
|
|
|
};
|
2021-05-26 11:52:37 +02:00
|
|
|
|
2022-07-18 19:03:07 +02:00
|
|
|
cmakeFlags = [
|
|
|
|
"-DCMAKE_BUILD_TYPE=Release"
|
|
|
|
"-DLIBDICT_STATIC=YES"
|
|
|
|
"-DLIBDICT_TOOLS=NO"
|
|
|
|
"-DLIBDICT_TESTS=NO"
|
|
|
|
"-DLIBDICT_SHARED=YES"
|
|
|
|
];
|
2021-05-26 11:52:37 +02:00
|
|
|
|
2022-07-18 19:03:07 +02:00
|
|
|
doCheck = false;
|
2021-05-26 11:52:37 +02:00
|
|
|
|
2022-07-18 19:03:07 +02:00
|
|
|
checkInputs = [pkgs.cunit];
|
|
|
|
nativeBuildInputs = buildTools;
|
|
|
|
};
|
|
|
|
bngblaster = let
|
|
|
|
version = self.rev or "dirty";
|
|
|
|
in
|
|
|
|
pkgs.stdenv.mkDerivation rec {
|
|
|
|
inherit version;
|
2021-05-26 11:52:37 +02:00
|
|
|
pname = "bngblaster";
|
|
|
|
src = lib.cleanSource ./.;
|
|
|
|
|
2021-05-26 19:41:44 +02:00
|
|
|
doCheck = true;
|
2022-07-18 19:03:07 +02:00
|
|
|
cmakeFlags =
|
|
|
|
["-DCMAKE_BUILD_TYPE=Release" "-DGIT_REF=${self.shortRef or "dirty"}" "-DGIT_SHA=${version}"]
|
|
|
|
++ (
|
|
|
|
if doCheck
|
|
|
|
then ["-DBNGBLASTER_TESTS=ON"]
|
|
|
|
else []
|
|
|
|
);
|
2021-05-26 11:52:37 +02:00
|
|
|
|
2022-07-18 19:03:07 +02:00
|
|
|
checkInputs = [pkgs.cmocka pkgs.libpcap];
|
2021-05-26 11:52:37 +02:00
|
|
|
nativeBuildInputs = buildTools;
|
2022-07-18 19:03:07 +02:00
|
|
|
buildInputs = dependencies ++ [packages.libdict];
|
2021-05-26 11:52:37 +02:00
|
|
|
};
|
2022-07-18 19:03:07 +02:00
|
|
|
};
|
|
|
|
devShell = pkgs.mkShell {
|
|
|
|
buildInputs =
|
|
|
|
dependencies
|
|
|
|
++ [packages.libdict pkgs.bashInteractive];
|
|
|
|
};
|
|
|
|
defaultPackage = packages.bngblaster;
|
|
|
|
apps.bngblaster = flake-utils.lib.mkApp {drv = packages.bngblaster;};
|
|
|
|
defaultApp = apps.bngblaster;
|
|
|
|
});
|
2021-05-26 11:52:37 +02:00
|
|
|
}
|