40 lines
1.0 KiB
Nix
40 lines
1.0 KiB
Nix
{ lib, stdenv, fetchurl, go }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
name = "minio-client-${shortVersion}";
|
|
|
|
shortVersion = "20170206";
|
|
longVersion = "2017-02-06T20-16-19Z";
|
|
|
|
src = fetchurl {
|
|
url = "https://github.com/minio/mc/archive/RELEASE.${lib.replaceStrings [":"] ["-"] longVersion}.tar.gz";
|
|
sha256 = "0k66kr7x669jvydcxp3rpvg8p9knhmcihpnjiqynhqgrdy16mr1f";
|
|
};
|
|
|
|
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;
|
|
};
|
|
}
|