Change to using source files to build traefik

This commit is contained in:
Hamish Hutchings 2017-09-18 13:37:36 +01:00
parent e0b81b9c3c
commit 0cc4cb96bb

View file

@ -1,18 +1,34 @@
{ stdenv, fetchurl }:
{ stdenv, buildGoPackage, fetchurl, bash, go-bindata}:
stdenv.mkDerivation rec {
buildGoPackage rec {
name = "traefik-${version}";
version = "v1.3.8";
goPackagePath = "github.com/containous/traefik";
src = fetchurl {
url = "https://github.com/containous/traefik/releases/download/${version}/traefik";
sha256 = "09m8svkqdrvayw871azzcb05dnbhbgb3c2380dw0v4wpcd0rqr9h";
url = "https://github.com/containous/traefik/releases/download/${version}/traefik-${version}.src.tar.gz";
sha256 = "6fce36dd30bb5ae5f91e69f2950f22fe7a74b920e80c6b441a0721122f6a6174";
};
buildCommand = ''
mkdir -p $out/bin
cp $src $out/bin/traefik
chmod +x $out/bin/traefik
buildInputs = [ go-bindata ];
sourceRoot = ".";
postUnpack = ''
files=`ls`
mkdir traefik
mv $files traefik/
export sourceRoot="traefik"
'';
buildPhase = ''
cd go/src/github.com/containous/traefik
${bash}/bin/bash ./script/make.sh generate
CGO_ENABLED=0 GOGC=off go build -v -ldflags "-s -w" -a -installsuffix nocgo -o dist/traefik ./cmd/traefik
'';
installPhase = ''
mkdir -p $bin/bin
cp ./dist/traefik $bin/bin/
'';
meta = with stdenv.lib; {