{ lib, craneLib, pkg-config, openssl, }: let pname = "eris"; inherit ((lib.importTOML ../Cargo.toml).package) version; src = let fs = lib.fileset; s = ../.; in fs.toSource { root = s; fileset = fs.unions [ (fs.fileFilter (file: builtins.any file.hasExt ["rs"]) (s + /src)) (s + /Cargo.lock) (s + /Cargo.toml) ]; }; cargoArtifacts = craneLib.buildDepsOnly { name = "eris"; inherit src; strictDeps = true; nativeBuildInputs = [pkg-config]; buildInputs = [openssl]; }; in craneLib.buildPackage { inherit pname src version cargoArtifacts; strictDeps = true; # FIXME: better provide those via wrappers... # postFixup = '' # mkdir -p "$out"/share/contrib/{corpus,lua} # # install -Dm755 ${../contrib/corpus}/*.txt $out/share/contrib/corpus # install -Dm755 ${../contrib/lua}/*.lua $out/share/contrib/lua # ''; meta = { description = "Sophisticated HTTP tarpit and honeypot stream"; homepage = "https://git.frzn.dev/NotAShelf/eris"; maintainers = [lib.maintainers.NotAShelf]; mainProgram = "eris"; }; }