1{
2 lib,
3 buildGoModule,
4 fetchFromGitHub,
5}:
6
7buildGoModule rec {
8 pname = "docker-compose";
9 version = "2.39.4";
10
11 src = fetchFromGitHub {
12 owner = "docker";
13 repo = "compose";
14 rev = "v${version}";
15 hash = "sha256-NDNyXK4E7TkviESHLp8M+OI56ME0Hatoi9eWjX+G1zo=";
16 };
17
18 postPatch = ''
19 # entirely separate package that breaks the build
20 rm -rf pkg/e2e/
21 '';
22
23 vendorHash = "sha256-Uqzul9BiXHAJ1BxlOtRS68Tg71SDva6kg3tv7c6ar2E=";
24
25 ldflags = [
26 "-X github.com/docker/compose/v2/internal.Version=${version}"
27 "-s"
28 "-w"
29 ];
30
31 doCheck = false;
32 installPhase = ''
33 runHook preInstall
34 install -D $GOPATH/bin/cmd $out/libexec/docker/cli-plugins/docker-compose
35
36 mkdir -p $out/bin
37 ln -s $out/libexec/docker/cli-plugins/docker-compose $out/bin/docker-compose
38 runHook postInstall
39 '';
40
41 meta = with lib; {
42 description = "Docker CLI plugin to define and run multi-container applications with Docker";
43 mainProgram = "docker-compose";
44 homepage = "https://github.com/docker/compose";
45 license = licenses.asl20;
46 maintainers = [ ];
47 };
48}