biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / development / tools / continuous-integration / hci / default.nix
blob0fac1dfc04c6640fe25ca1e4832bee4807ebbdf0
1 { crun, haskell, haskellPackages, lib, makeWrapper, stdenv, emptyDirectory }:
2 let
3   inherit (haskell.lib.compose) overrideCabal addBuildTools justStaticExecutables appendConfigureFlags;
4   inherit (lib) makeBinPath;
5   bundledBins = lib.optional stdenv.isLinux crun;
7   overrides = old: {
8     hercules-ci-agent =
9       overrideCabal
10         (o: {
11           isLibrary = true;
12           isExecutable = false;
13           postInstall = ""; # ignore completions
14           enableSharedExecutables = false;
15           buildTarget = "lib:hercules-ci-agent hercules-ci-agent-unit-tests";
16           configureFlags = o.configureFlags or [ ] ++ [
17             "--bindir=${emptyDirectory}/hercules-ci-built-without-binaries/no-bin"
18           ];
19         })
20         old.hercules-ci-agent;
21   };
23   pkg =
24     # justStaticExecutables is needed due to https://github.com/NixOS/nix/issues/2990
25     overrideCabal
26       (o: {
27         postInstall = ''
28           ${o.postInstall or ""}
29           mkdir -p $out/libexec
30           mv $out/bin/hci $out/libexec
31           makeWrapper $out/libexec/hci $out/bin/hci --prefix PATH : ${lib.escapeShellArg (makeBinPath bundledBins)}
32         '';
33       })
34       (addBuildTools [ makeWrapper ] (justStaticExecutables (haskellPackages.hercules-ci-cli.override overrides)));
35 in pkg // {
36     meta = pkg.meta // {
37       position = toString ./default.nix + ":1";
38     };
39   }