Port syncthing to buildGoPackage
This commit is contained in:
parent
d1b3874733
commit
e6e4c867e5
@ -1,40 +1,30 @@
|
|||||||
{ stdenv, fetchgit, go }:
|
{ lib, fetchgit, goPackages }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
with goPackages;
|
||||||
|
|
||||||
|
buildGoPackage rec {
|
||||||
name = "syncthing-${version}";
|
name = "syncthing-${version}";
|
||||||
version = "0.10.21";
|
version = "0.10.21";
|
||||||
|
goPackagePath = "github.com/syncthing/syncthing";
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "git://github.com/syncthing/syncthing.git";
|
url = "git://github.com/syncthing/syncthing.git";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
sha256 = "60cd8607cf7d2837252680f6c2879aba1f35a2c74a47c2f2ea874d6eed2adaa5";
|
sha256 = "60cd8607cf7d2837252680f6c2879aba1f35a2c74a47c2f2ea874d6eed2adaa5";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ go ];
|
subPackages = [ "cmd/syncthing" ];
|
||||||
|
|
||||||
buildPhase = ''
|
buildFlagsArray = "-ldflags=-w -X main.Version v${version}";
|
||||||
mkdir -p "./dependencies/src/github.com/syncthing/syncthing"
|
|
||||||
cp -r internal "./dependencies/src/github.com/syncthing/syncthing"
|
|
||||||
|
|
||||||
export GOPATH="`pwd`/Godeps/_workspace:`pwd`/dependencies"
|
preBuild = "export GOPATH=$GOPATH:$NIX_BUILD_TOP/go/src/${goPackagePath}/Godeps/_workspace";
|
||||||
|
|
||||||
go run build.go test
|
doCheck = true;
|
||||||
|
|
||||||
mkdir ./bin
|
|
||||||
|
|
||||||
go build -o ./bin/syncthing -ldflags "-w -X main.Version v${version}" ./cmd/syncthing
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
cp -r ./bin $out
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://syncthing.net/;
|
homepage = http://syncthing.net/;
|
||||||
description = "Replaces Dropbox and BitTorrent Sync with something open, trustworthy and decentralized";
|
description = "Replaces Dropbox and BitTorrent Sync with something open, trustworthy and decentralized";
|
||||||
license = with stdenv.lib.licenses; mit;
|
license = with lib.licenses; mit;
|
||||||
maintainers = with stdenv.lib.maintainers; [ matejc ];
|
maintainers = with lib.maintainers; [ matejc ];
|
||||||
platforms = with stdenv.lib.platforms; linux;
|
platforms = with lib.platforms; linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -28,12 +28,12 @@ go.stdenv.mkDerivation ( args // {
|
|||||||
|
|
||||||
if [ -n "$subPackages" ] ; then
|
if [ -n "$subPackages" ] ; then
|
||||||
for p in $subPackages ; do
|
for p in $subPackages ; do
|
||||||
go install $makeFlags -p $NIX_BUILD_CORES -v $goPackagePath/$p
|
go install $buildFlags "''${buildFlagsArray[@]}" -p $NIX_BUILD_CORES -v $goPackagePath/$p
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
find . -type d | while read d; do
|
find . -type d | while read d; do
|
||||||
for i in $d/*.go; do
|
for i in $d/*.go; do
|
||||||
go install $makeFlags -p $NIX_BUILD_CORES -v $d
|
go install $buildFlags "''${buildFlagsArray[@]}" -p $NIX_BUILD_CORES -v $d
|
||||||
break
|
break
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
Loading…
x
Reference in New Issue
Block a user