From 7a72b3ecb54c69e94e84d45c8e70eb13d26ad46e Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Wed, 6 May 2026 01:41:56 +0800 Subject: [PATCH] writeHaskell: allow providing function for libraries This is much safer at avoiding version mismatches. --- pkgs/build-support/writers/scripts.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/build-support/writers/scripts.nix b/pkgs/build-support/writers/scripts.nix index 43880c62ccaf..bb649db24575 100644 --- a/pkgs/build-support/writers/scripts.nix +++ b/pkgs/build-support/writers/scripts.nix @@ -17,6 +17,7 @@ let last optionalString strings + toFunction types ; in @@ -751,7 +752,7 @@ rec { ## `pkgs.writers.writeHaskell` usage example ```nix - writeHaskell "missiles" { libraries = [ pkgs.haskellPackages.acme-missiles ]; } '' + writeHaskell "missiles" { libraries = hpkgs: [ hpkgs.acme-missiles ]; } '' import Acme.Missiles main = launchMissiles @@ -777,7 +778,7 @@ rec { makeBinWriter { compileScript = '' cp $contentPath tmp.hs - ${(ghc.withPackages (_: libraries))}/bin/ghc ${lib.escapeShellArgs ghcArgs'} tmp.hs + ${(ghc.withPackages (toFunction libraries))}/bin/ghc ${lib.escapeShellArgs ghcArgs'} tmp.hs mv tmp $out ''; inherit makeWrapperArgs strip;