From da18868085c2f8a2264199d885521a247827b616 Mon Sep 17 00:00:00 2001 From: Yifei Sun Date: Mon, 24 Nov 2025 16:09:27 +0100 Subject: [PATCH] why3find: fix darwin build, modernize --- pkgs/by-name/wh/why3find/package.nix | 33 +++++++++++++++++++++------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/wh/why3find/package.nix b/pkgs/by-name/wh/why3find/package.nix index 95458e0deb5b..8382d6c93395 100644 --- a/pkgs/by-name/wh/why3find/package.nix +++ b/pkgs/by-name/wh/why3find/package.nix @@ -1,21 +1,30 @@ { lib, - fetchurl, + stdenv, + fetchFromGitLab, ocamlPackages, + alt-ergo, + darwin, why3, }: -with ocamlPackages; -buildDunePackage { +ocamlPackages.buildDunePackage (finalAttrs: { pname = "why3find"; version = "1.2.0"; - src = fetchurl { - url = "https://git.frama-c.com/-/project/1056/uploads/043312a7a70961338479016ac535c706/why3find-1.2.0.tbz"; - hash = "sha256-eslkMBo0i0+Oy8jW9eRNuyGXuwkV6eeYcxZm5MfgA6w="; + src = fetchFromGitLab { + domain = "git.frama-c.com"; + owner = "pub"; + repo = "why3find"; + tag = finalAttrs.version; + hash = "sha256-fqB6VrJ79E6KSAnq8TZGNFlvWbDaBNh+gbuRf0CFFy8="; }; - propagatedBuildInputs = [ + nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.sigtool # codesign + ]; + + propagatedBuildInputs = with ocamlPackages; [ dune-site terminal_size why3 @@ -23,10 +32,18 @@ buildDunePackage { zmq ]; + doCheck = true; + + nativeCheckInputs = [ + alt-ergo.bin + why3 + ]; + meta = { description = "Why3 Package Manager"; homepage = "https://git.frama-c.com/pub/why3find"; license = lib.licenses.lgpl21Only; maintainers = [ lib.maintainers.vbgl ]; + mainProgram = "why3find"; }; -} +})