49 lines
854 B
Nix
49 lines
854 B
Nix
{
|
|
stdenv,
|
|
go,
|
|
docker,
|
|
nixosTests,
|
|
}:
|
|
|
|
stdenv.mkDerivation {
|
|
name = "tarsum";
|
|
|
|
nativeBuildInputs = [ go ];
|
|
disallowedReferences = [ go ];
|
|
|
|
dontUnpack = true;
|
|
|
|
CGO_ENABLED = 0;
|
|
GOFLAGS = "-trimpath";
|
|
GO111MODULE = "off";
|
|
|
|
buildPhase = ''
|
|
runHook preBuild
|
|
mkdir tarsum
|
|
cd tarsum
|
|
cp ${./tarsum.go} tarsum.go
|
|
export GOPATH=$(pwd)
|
|
export GOCACHE="$TMPDIR/go-cache"
|
|
mkdir -p src/github.com/docker/docker/pkg
|
|
ln -sT ${docker.moby-src}/pkg/tarsum src/github.com/docker/docker/pkg/tarsum
|
|
go build
|
|
runHook postBuild
|
|
'';
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
mkdir -p $out/bin
|
|
cp tarsum $out/bin/
|
|
runHook postInstall
|
|
'';
|
|
|
|
passthru = {
|
|
tests = {
|
|
dockerTools = nixosTests.docker-tools;
|
|
};
|
|
};
|
|
|
|
meta.platforms = go.meta.platforms;
|
|
meta.mainProgram = "tarsum";
|
|
}
|