From f250a20b5fdbeb5d232438a50476388d490a15a8 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Tue, 17 Mar 2026 22:27:22 +0100 Subject: [PATCH] nixtamal: split into two outputs (bin/lib) And remove references to OCaml from the bin/ output. --- pkgs/by-name/ni/nixtamal/package.nix | 31 ++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/ni/nixtamal/package.nix b/pkgs/by-name/ni/nixtamal/package.nix index f60cf4b12bc4..047bf43687a4 100644 --- a/pkgs/by-name/ni/nixtamal/package.nix +++ b/pkgs/by-name/ni/nixtamal/package.nix @@ -11,6 +11,7 @@ nix-prefetch-fossil, nix-prefetch-git, nix-prefetch-pijul, + removeReferencesTo, testers, nixtamal, }: @@ -31,6 +32,7 @@ ocamlPackages.buildDunePackage (finalAttrs: { nativeBuildInputs = [ makeBinaryWrapper + removeReferencesTo # For manpages python3Packages.docutils python3Packages.pygments @@ -40,11 +42,15 @@ ocamlPackages.buildDunePackage (finalAttrs: { ]; buildInputs = with ocamlPackages; [ - camomile cmdliner + fmt + ppx_deriving_qcheck + ]; + + propagatedBuildInputs = with ocamlPackages; [ + camomile eio eio_main - fmt jingoo (jsont.override { withBrr = false; @@ -53,7 +59,7 @@ ocamlPackages.buildDunePackage (finalAttrs: { kdl logs ppx_deriving - ppx_deriving_qcheck + qcheck-core saturn stdint uri @@ -72,8 +78,20 @@ ocamlPackages.buildDunePackage (finalAttrs: { doCheck = true; - postInstall = '' - wrapProgram "$out/bin/nixtamal" --prefix PATH : ${ + outputs = [ + "bin" + "lib" + "out" + ]; + + installPhase = '' + runHook preInstall + dune install --prefix="$bin" --libdir="$lib/lib/ocaml/${ocamlPackages.ocaml.version}/site-lib" nixtamal + for dep in ${ocamlPackages.ocaml} ${ocamlPackages.camomile} + do + remove-references-to -t $dep $bin/bin/nixtamal + done + wrapProgram "$bin/bin/nixtamal" --prefix PATH : ${ lib.makeBinPath [ coreutils nix-prefetch-darcs @@ -82,10 +100,11 @@ ocamlPackages.buildDunePackage (finalAttrs: { nix-prefetch-pijul ] } + runHook postInstall ''; passthru.tests.version = testers.testVersion { - package = nixtamal; + package = nixtamal.bin; command = "${nixtamal.meta.mainProgram} --version"; };