nixpkgs/pkgs/tools/networking/minio-client/default.nix
2016-09-07 17:41:53 +02:00

40 lines
1 KiB
Nix

{ lib, stdenv, fetchurl, go }:
stdenv.mkDerivation rec {
name = "minio-client-${shortVersion}";
shortVersion = "20160821";
longVersion = "2016-08-21T03:02:49Z";
src = fetchurl {
url = "https://github.com/minio/mc/archive/RELEASE.${lib.replaceStrings [":"] ["-"] longVersion}.tar.gz";
sha256 = "1qnslwfspbvzawxrrym27agw79x8sgcafk7d0yakncjyg6vmdkka";
};
buildInputs = [ go ];
unpackPhase = ''
d=$TMPDIR/src/github.com/minio/mc
mkdir -p $d
tar xf $src -C $d --strip-component 1
export GOPATH=$TMPDIR
cd $d
'';
buildPhase = ''
mkdir -p $out/bin
go build -o $out/bin/minio-client \
--ldflags "-X github.com/minio/mc/cmd.Version=${longVersion}"
'';
installPhase = "ln -s minio-client $out/bin/mc";
meta = {
homepage = https://github.com/minio/mc;
description = "A replacement for ls, cp, mkdir, diff and rsync commands for filesystems and object storage";
maintainers = [ lib.maintainers.eelco ];
platforms = lib.platforms.linux;
license = lib.licenses.asl20;
};
}