From 8d3ea8c83c7c914c811cd1c0efe1f44aac87157f Mon Sep 17 00:00:00 2001 From: wucke13 Date: Thu, 16 Jul 2026 09:47:50 +0200 Subject: [PATCH] refactor: move packages from overlay to pkgs/ Signed-off-by: wucke13 --- overlay.nix | 50 ++++++++++++--------------------------- pkgs/proof-proverif.nix | 27 +++++++++++++++++++++ pkgs/proverif-patched.nix | 7 ++++++ pkgs/rp.nix | 1 + 4 files changed, 50 insertions(+), 35 deletions(-) create mode 100644 pkgs/proof-proverif.nix create mode 100644 pkgs/proverif-patched.nix create mode 100644 pkgs/rp.nix diff --git a/overlay.nix b/overlay.nix index 25505288..c1261d10 100644 --- a/overlay.nix +++ b/overlay.nix @@ -1,41 +1,21 @@ -final: prev: { +final: prev: - # - ### Actual rosenpass software ### - # - rosenpass = final.callPackage ./pkgs/rosenpass.nix { }; - rosenpass-oci-image = final.callPackage ./pkgs/rosenpass-oci-image.nix { }; - rp = final.callPackage ./pkgs/rosenpass.nix { package = "rp"; }; +let + inherit (prev) lib; - release-package = final.callPackage ./pkgs/release-package.nix { }; + # root dir of this flake + flakeRoot = ./.; - # - ### Appendix ### - # - proverif-patched = prev.proverif.overrideAttrs (old: { - postInstall = '' - install -D -t $out/lib cryptoverif.pvl - ''; - }); + # all packages from the local tree + rosenpassPackages = lib.filesystem.packagesFromDirectoryRecursive { + # a special callPackage variant that contains our flakeRoot + callPackage = lib.callPackageWith (final // { inherit flakeRoot; }); - proof-proverif = final.stdenv.mkDerivation { - name = "rosenpass-proverif-proof"; - version = "unstable"; - src = final.lib.sources.sourceByRegex ./. [ - "analyze.sh" - "marzipan(/marzipan.awk)?" - "analysis(/.*)?" - ]; - nativeBuildInputs = [ - final.proverif - final.graphviz - ]; - CRYPTOVERIF_LIB = final.proverif-patched + "/lib/cryptoverif.pvl"; - installPhase = '' - mkdir -p $out - bash analyze.sh -color -html $out - ''; + # local tree of packages + directory = ./pkgs; }; - - whitepaper = final.callPackage ./pkgs/whitepaper.nix { }; +in +{ + inherit rosenpassPackages; } +// rosenpassPackages diff --git a/pkgs/proof-proverif.nix b/pkgs/proof-proverif.nix new file mode 100644 index 00000000..65d56da5 --- /dev/null +++ b/pkgs/proof-proverif.nix @@ -0,0 +1,27 @@ +{ + lib, + stdenv, + flakeRoot, + graphviz, + proverif, + proverif-patched, +}: + +stdenv.mkDerivation { + name = "rosenpass-proverif-proof"; + version = "unstable"; + src = lib.sources.sourceByRegex flakeRoot [ + "analyze.sh" + "marzipan(/marzipan.awk)?" + "analysis(/.*)?" + ]; + nativeBuildInputs = [ + proverif + graphviz + ]; + CRYPTOVERIF_LIB = proverif-patched + "/lib/cryptoverif.pvl"; + installPhase = '' + mkdir -p $out + bash analyze.sh -color -html $out + ''; +} diff --git a/pkgs/proverif-patched.nix b/pkgs/proverif-patched.nix new file mode 100644 index 00000000..b426c73d --- /dev/null +++ b/pkgs/proverif-patched.nix @@ -0,0 +1,7 @@ +{ proverif }: + +proverif.overrideAttrs (old: { + postInstall = '' + install -D -t $out/lib cryptoverif.pvl + ''; +}) diff --git a/pkgs/rp.nix b/pkgs/rp.nix new file mode 100644 index 00000000..8b4eca04 --- /dev/null +++ b/pkgs/rp.nix @@ -0,0 +1 @@ +{ rosenpass }: rosenpass.override { package = "rp"; }