Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 stdenv,
3 go,
4 docker,
5 nixosTests,
6}:
7
8stdenv.mkDerivation {
9 name = "tarsum";
10
11 nativeBuildInputs = [ go ];
12 disallowedReferences = [ go ];
13
14 dontUnpack = true;
15
16 CGO_ENABLED = 0;
17 GOFLAGS = "-trimpath";
18 GO111MODULE = "off";
19
20 buildPhase = ''
21 runHook preBuild
22 mkdir tarsum
23 cd tarsum
24 cp ${./tarsum.go} tarsum.go
25 export GOPATH=$(pwd)
26 export GOCACHE="$TMPDIR/go-cache"
27 mkdir -p src/github.com/docker/docker/pkg
28 ln -sT ${docker.moby-src}/pkg/tarsum src/github.com/docker/docker/pkg/tarsum
29 go build
30 runHook postBuild
31 '';
32
33 installPhase = ''
34 runHook preInstall
35 mkdir -p $out/bin
36 cp tarsum $out/bin/
37 runHook postInstall
38 '';
39
40 passthru = {
41 tests = {
42 dockerTools = nixosTests.docker-tools;
43 };
44 };
45
46 meta.platforms = go.meta.platforms;
47 meta.mainProgram = "tarsum";
48}