From 10bb5b600848c012b7e8b5ea122878836101e264 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Thu, 5 Oct 2023 11:58:18 +0200 Subject: [PATCH] hci: Improve closure size --- .../continuous-integration/hci/default.nix | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/continuous-integration/hci/default.nix b/pkgs/development/tools/continuous-integration/hci/default.nix index 5060d0aeda01..1acafb10eabc 100644 --- a/pkgs/development/tools/continuous-integration/hci/default.nix +++ b/pkgs/development/tools/continuous-integration/hci/default.nix @@ -1,9 +1,25 @@ -{ haskell, haskellPackages, lib, makeWrapper, runc, stdenv }: +{ haskell, haskellPackages, lib, makeWrapper, runc, stdenv, emptyDirectory }: let - inherit (haskell.lib.compose) overrideCabal addBuildTools justStaticExecutables; + inherit (haskell.lib.compose) overrideCabal addBuildTools justStaticExecutables appendConfigureFlags; inherit (lib) makeBinPath; bundledBins = lib.optional stdenv.isLinux runc; + overrides = old: { + hercules-ci-agent = + overrideCabal + (o: { + isLibrary = true; + isExecutable = false; + postInstall = ""; # ignore completions + enableSharedExecutables = false; + buildTarget = "lib:hercules-ci-agent hercules-ci-agent-unit-tests"; + configureFlags = o.configureFlags or [ ] ++ [ + "--bindir=${emptyDirectory}/hercules-ci-built-without-binaries/no-bin" + ]; + }) + old.hercules-ci-agent; + }; + pkg = # justStaticExecutables is needed due to https://github.com/NixOS/nix/issues/2990 overrideCabal @@ -15,7 +31,7 @@ let makeWrapper $out/libexec/hci $out/bin/hci --prefix PATH : ${lib.escapeShellArg (makeBinPath bundledBins)} ''; }) - (addBuildTools [ makeWrapper ] (justStaticExecutables haskellPackages.hercules-ci-cli)); + (addBuildTools [ makeWrapper ] (justStaticExecutables (haskellPackages.hercules-ci-cli.override overrides))); in pkg // { meta = pkg.meta // { position = toString ./default.nix + ":1";