From ae5cc0f6dc452018a61e8a4010d028fed5f6a221 Mon Sep 17 00:00:00 2001 From: Shogo Takata Date: Wed, 2 Jul 2025 19:44:50 +0900 Subject: [PATCH] proverif: add interact support --- pkgs/by-name/pr/proverif/package.nix | 41 +++++++++++++++++++-- pkgs/by-name/pr/proverifWithGui/package.nix | 1 + 2 files changed, 38 insertions(+), 4 deletions(-) create mode 100644 pkgs/by-name/pr/proverifWithGui/package.nix diff --git a/pkgs/by-name/pr/proverif/package.nix b/pkgs/by-name/pr/proverif/package.nix index 7addcf4008b5..a3ca7dd22628 100644 --- a/pkgs/by-name/pr/proverif/package.nix +++ b/pkgs/by-name/pr/proverif/package.nix @@ -3,6 +3,11 @@ stdenv, fetchurl, ocamlPackages, + makeBinaryWrapper, + graphviz, + m4, + + enable_interact ? false, }: stdenv.mkDerivation rec { @@ -16,16 +21,44 @@ stdenv.mkDerivation rec { strictDeps = true; - nativeBuildInputs = with ocamlPackages; [ - ocaml - findlib + nativeBuildInputs = + with ocamlPackages; + [ + ocaml + findlib + ] + ++ lib.optionals enable_interact [ makeBinaryWrapper ]; + + buildInputs = lib.optionals enable_interact [ + ocamlPackages.lablgtk ]; + nativeCheckInputs = [ m4 ]; + + buildPhase = '' + runHook preBuild + ${if enable_interact then "./build" else "./build -nointeract"} + runHook postBuild + ''; + + doCheck = true; + checkPhase = '' + runHook preCheck + ./test + runHook postCheck + ''; - buildPhase = "./build -nointeract"; installPhase = '' runHook preInstall + install -D -t $out/bin proverif proveriftotex install -D -t $out/share/emacs/site-lisp/ emacs/proverif.el + + ${lib.optionalString enable_interact '' + install -D -t $out/bin proverif_interact + wrapProgram $out/bin/proverif_interact \ + --prefix PATH : ${lib.makeBinPath [ graphviz ]} + ''} + runHook postInstall ''; diff --git a/pkgs/by-name/pr/proverifWithGui/package.nix b/pkgs/by-name/pr/proverifWithGui/package.nix new file mode 100644 index 000000000000..a60a4971296a --- /dev/null +++ b/pkgs/by-name/pr/proverifWithGui/package.nix @@ -0,0 +1 @@ +{ proverif }: proverif.override { enable_interact = true; }