forked from mirrors/nixpkgs
Port ngrok to buildGoPackage
This commit is contained in:
parent
b3dd66dee1
commit
96701d6ff6
|
@ -1,29 +0,0 @@
|
|||
{ stdenv, lib, go, fetchFromGitHub }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "go-bindata";
|
||||
|
||||
src = import ./deps.nix {
|
||||
inherit stdenv lib fetchFromGitHub;
|
||||
};
|
||||
|
||||
buildInputs = [ go ];
|
||||
|
||||
buildPhase = ''
|
||||
export GOPATH=$src
|
||||
go build -v -o go-bindata github.com/jteeuwen/go-bindata/go-bindata
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp go-bindata $out/bin
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/jteeuwen/go-bindata";
|
||||
description = "A small utility which generates Go code from any file. Useful for embedding binary data in a Go program.";
|
||||
maintainers = with maintainers; [ cstrahan ];
|
||||
license = licenses.cc0 ;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
# This file was generated by go2nix.
|
||||
{ stdenv, lib, fetchFromGitHub }:
|
||||
|
||||
let
|
||||
goDeps = [
|
||||
{
|
||||
root = "github.com/jteeuwen/go-bindata";
|
||||
src = fetchFromGitHub {
|
||||
owner = "jteeuwen";
|
||||
repo = "go-bindata";
|
||||
rev = "93b909d1499a38620121b0a5eb43a18f3bccb083";
|
||||
sha256 = "1v4jl9lnzy0p4nvjfkh96yy0w181n5mkr0kamh743911gfbpq4sh";
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "go-deps";
|
||||
|
||||
buildCommand =
|
||||
lib.concatStrings
|
||||
(map (dep: ''
|
||||
mkdir -p $out/src/`dirname ${dep.root}`
|
||||
ln -s ${dep.src} $out/src/${dep.root}
|
||||
'') goDeps);
|
||||
}
|
|
@ -1,42 +1,41 @@
|
|||
{ stdenv, lib, go, go-bindata, fetchgit, fetchbzr, fetchhg, fetchFromGitHub }:
|
||||
{ stdenv, git, fetchFromGitHub, goPackages }:
|
||||
|
||||
let deps = import ./deps.nix {
|
||||
inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub;
|
||||
};
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "ngrok-${version}";
|
||||
version = "1.7";
|
||||
with goPackages;
|
||||
|
||||
buildInputs = [ go go-bindata ];
|
||||
buildGoPackage rec {
|
||||
name = "ngrok-1.7";
|
||||
goPackagePath = "ngrok";
|
||||
|
||||
unpackPhase = ''
|
||||
export GOPATH=$(pwd)
|
||||
cp -LR ${deps}/src src
|
||||
chmod u+w -R src
|
||||
sourceRoot=src/github.com/inconshreveable/ngrok
|
||||
src = fetchFromGitHub {
|
||||
rev = "b7d5571aa7f12ac304b8f8286b855cc64dd9bab8";
|
||||
owner = "inconshreveable";
|
||||
repo = "ngrok";
|
||||
sha256 = "0a5iq9l9f2xdg6gnc9pj0iczhycv1w5iwcqgzzap83xfpy01xkh4";
|
||||
};
|
||||
|
||||
subPackages = [ "main/ngrok" "main/ngrokd" ];
|
||||
|
||||
preConfigure = ''
|
||||
sed -e '/jteeuwen\/go-bindata/d' \
|
||||
-e '/export GOPATH/d' \
|
||||
-e 's/go get/#go get/' \
|
||||
-e 's|bin/go-bindata|go-bindata|' -i Makefile
|
||||
make assets BUILDTAGS=release
|
||||
export sourceRoot=$sourceRoot/src/ngrok
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
export HOME=$(pwd)
|
||||
export GOPATH=$(pwd):$GOPATH
|
||||
buildInputs = [ git log4go websocket go-vhost mousetrap termbox-go go-metrics
|
||||
yaml-v1 go-bindata go-update binarydist osext ];
|
||||
|
||||
# don't download dependencies as we already have them
|
||||
sed -i '/jteeuwen\/go-bindata/d' Makefile
|
||||
sed -i '/export GOPATH/d' Makefile
|
||||
sed -i 's|bin/go-bindata|go-bindata|' Makefile
|
||||
'';
|
||||
makeFlags = "-tags release";
|
||||
|
||||
installPhase = ''
|
||||
make release-client release-server
|
||||
mkdir -p $out/bin
|
||||
cp bin/ngrok{d,} $out/bin
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Reverse proxy that creates a secure tunnel between from a public endpoint to a locally running web service";
|
||||
meta = with stdenv.lib; {
|
||||
description = "Reverse proxy that creates a secure tunnel between from a public endpoint t
|
||||
o a locally running web service";
|
||||
homepage = https://ngrok.com/;
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ iElectric cstrahan ];
|
||||
platforms = with platforms; linux ++ darwin;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -1,141 +0,0 @@
|
|||
# This file was generated by go2nix.
|
||||
{ stdenv, lib, fetchFromGitHub, fetchgit, fetchhg, fetchbzr }:
|
||||
|
||||
let
|
||||
goDeps = [
|
||||
{
|
||||
root = "bitbucket.org/kardianos/osext";
|
||||
src = fetchhg {
|
||||
url = "https://bitbucket.org/kardianos/osext";
|
||||
rev = "10";
|
||||
sha256 = "1sj9r5pm28l9sqx6354fwp032n53znx9k8495k3dfnyqjrkvlw6n";
|
||||
};
|
||||
}
|
||||
{
|
||||
root = "code.google.com/p/log4go";
|
||||
src = fetchhg {
|
||||
url = "https://code.google.com/p/log4go";
|
||||
rev = "48";
|
||||
sha256 = "0q906sxrmwir295virfibqvdzlaj340qh2r4ysx1ccjrjazc0q5p";
|
||||
};
|
||||
}
|
||||
{
|
||||
root = "github.com/gorilla/websocket";
|
||||
src = fetchFromGitHub {
|
||||
owner = "gorilla";
|
||||
repo = "websocket";
|
||||
rev = "f4076986b69612ecb8bc7ce06d742eda6286200d";
|
||||
sha256 = "09arvwlxw15maf4z8pcgjc25hd00mckqpdi0byafqfgm3nvvacvq";
|
||||
};
|
||||
}
|
||||
{
|
||||
root = "github.com/inconshreveable/go-update";
|
||||
src = fetchFromGitHub {
|
||||
owner = "inconshreveable";
|
||||
repo = "go-update";
|
||||
rev = "c1385108bc3a016f1c88b75ea7d2e2a356a1571d";
|
||||
sha256 = "16zaxa0i07ismxdmkvjj4dpyc9lgp6wa94q090m9a48si40w9sjn";
|
||||
};
|
||||
}
|
||||
{
|
||||
root = "github.com/inconshreveable/go-vhost";
|
||||
src = fetchFromGitHub {
|
||||
owner = "inconshreveable";
|
||||
repo = "go-vhost";
|
||||
rev = "c4c28117502e4bf00960c8282b2d1c51c865fe2c";
|
||||
sha256 = "1rway6sls6fl2s2jk20ajj36rrlzh9944ncc9pdd19kifix54z32";
|
||||
};
|
||||
}
|
||||
{
|
||||
root = "github.com/inconshreveable/mousetrap";
|
||||
src = fetchFromGitHub {
|
||||
owner = "inconshreveable";
|
||||
repo = "mousetrap";
|
||||
rev = "9dbb96d2c3a964935b0870b5abaea13c98b483aa";
|
||||
sha256 = "1f9g8vm18qv1rcb745a4iahql9vfrz0jni9mnzriab2wy1pfdl5b";
|
||||
};
|
||||
}
|
||||
{
|
||||
root = "github.com/inconshreveable/ngrok";
|
||||
src = fetchFromGitHub {
|
||||
owner = "inconshreveable";
|
||||
repo = "ngrok";
|
||||
rev = "b7d5571aa7f12ac304b8f8286b855cc64dd9bab8";
|
||||
sha256 = "0a5iq9l9f2xdg6gnc9pj0iczhycv1w5iwcqgzzap83xfpy01xkh4";
|
||||
};
|
||||
}
|
||||
{
|
||||
root = "github.com/influxdb/influxdb-go";
|
||||
src = fetchFromGitHub {
|
||||
owner = "influxdb";
|
||||
repo = "influxdb-go";
|
||||
rev = "63c9a5f67dcb633d05164bf8442160c9e2e402f7";
|
||||
sha256 = "16in1xhx94pir06aw166inn0hzpb7836xbws16laabs1p2np7bld";
|
||||
};
|
||||
}
|
||||
{
|
||||
root = "github.com/kr/binarydist";
|
||||
src = fetchFromGitHub {
|
||||
owner = "kr";
|
||||
repo = "binarydist";
|
||||
rev = "9955b0ab8708602d411341e55fffd7e0700f86bd";
|
||||
sha256 = "11wncbbbrdcxl5ff3h6w8vqfg4bxsf8709mh6vda0cv236flkyn3";
|
||||
};
|
||||
}
|
||||
{
|
||||
root = "github.com/nsf/termbox-go";
|
||||
src = fetchFromGitHub {
|
||||
owner = "nsf";
|
||||
repo = "termbox-go";
|
||||
rev = "9aecf65084a5754f12d27508fa2e6ed56851953b";
|
||||
sha256 = "16sak07bgvmax4zxfrd4jia1dgygk733xa8vk8cdx28z98awbfsh";
|
||||
};
|
||||
}
|
||||
{
|
||||
root = "github.com/rcrowley/go-metrics";
|
||||
src = fetchFromGitHub {
|
||||
owner = "rcrowley";
|
||||
repo = "go-metrics";
|
||||
rev = "f770e6f5e91a8770cecee02d5d3f7c00b023b4df";
|
||||
sha256 = "07dc74kiam8v5my7rhi3yxqrpnaapladhk8b3qbnrpjk3shvnx5f";
|
||||
};
|
||||
}
|
||||
{
|
||||
root = "github.com/stathat/go";
|
||||
src = fetchFromGitHub {
|
||||
owner = "stathat";
|
||||
repo = "go";
|
||||
rev = "01d012b9ee2ecc107cb28b6dd32d9019ed5c1d77";
|
||||
sha256 = "0mrn70wjfcs4rfkmga3hbfqmbjk33skcsc8pyqxp02bzpwdpc4bi";
|
||||
};
|
||||
}
|
||||
{
|
||||
root = "gopkg.in/check.v1";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/go-check/check.git";
|
||||
rev = "871360013c92e1c715c2de6d06b54899468a8a2d";
|
||||
sha256 = "0i83qjmd4ri9mrfddhsbpj9nb43rf2j9803k030fj155j31klwcx";
|
||||
};
|
||||
}
|
||||
{
|
||||
root = "gopkg.in/yaml.v1";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/go-yaml/yaml.git";
|
||||
rev = "b0c168ac0cf9493da1f9bb76c34b26ffef940b4a";
|
||||
sha256 = "0jbdy41pplf2d1j24qwr8gc5qsig6ai5ch8rwgvg72kq9q0901cy";
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "go-deps";
|
||||
|
||||
buildCommand =
|
||||
lib.concatStrings
|
||||
(map (dep: ''
|
||||
mkdir -p $out/src/`dirname ${dep.root}`
|
||||
ln -s ${dep.src} $out/src/${dep.root}
|
||||
'') goDeps);
|
||||
}
|
|
@ -3503,8 +3503,6 @@ let
|
|||
|
||||
go-repo-root = callPackage ../development/tools/misc/go-repo-root { };
|
||||
|
||||
go-bindata = callPackage ../tools/misc/go-bindata { };
|
||||
|
||||
gox = callPackage ../development/compilers/go/gox.nix { };
|
||||
|
||||
gprolog = callPackage ../development/compilers/gprolog { };
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* This file defines the composition for Go packages. */
|
||||
|
||||
{ overrides, stdenv, go, buildGoPackage
|
||||
{ overrides, stdenv, go, buildGoPackage, git
|
||||
,fetchgit, fetchhg, fetchurl, fetchFromGitHub }:
|
||||
|
||||
let self = _self // overrides; _self = with self; {
|
||||
|
@ -46,6 +46,30 @@ let self = _self // overrides; _self = with self; {
|
|||
|
||||
## THIRD PARTY
|
||||
|
||||
binarydist = buildGoPackage rec {
|
||||
rev = "9955b0ab8708602d411341e55fffd7e0700f86bd";
|
||||
name = "binarydist-${stdenv.lib.strings.substring 0 7 rev}";
|
||||
goPackagePath = "github.com/kr/binarydist";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
inherit rev;
|
||||
owner = "kr";
|
||||
repo = "binarydist";
|
||||
sha256 = "11wncbbbrdcxl5ff3h6w8vqfg4bxsf8709mh6vda0cv236flkyn3";
|
||||
};
|
||||
};
|
||||
|
||||
check-v1 = buildGoPackage rec {
|
||||
rev = "871360013c92e1c715c2de6d06b54899468a8a2d";
|
||||
name = "check-v1-${stdenv.lib.strings.substring 0 7 rev}";
|
||||
goPackagePath = "gopkg.in/check.v1";
|
||||
src = fetchgit {
|
||||
inherit rev;
|
||||
url = "https://github.com/go-check/check.git";
|
||||
sha256 = "0i83qjmd4ri9mrfddhsbpj9nb43rf2j9803k030fj155j31klwcx";
|
||||
};
|
||||
};
|
||||
|
||||
cobra = buildGoPackage rec {
|
||||
date = "20140617";
|
||||
rev = "10a8494a87448bf5003222d9974f166437e7f042";
|
||||
|
@ -83,6 +107,107 @@ let self = _self // overrides; _self = with self; {
|
|||
};
|
||||
};
|
||||
|
||||
go-bindata = buildGoPackage rec {
|
||||
version = "3.0.7";
|
||||
name = "go-bindata-${version}";
|
||||
goPackagePath = "github.com/jteeuwen/go-bindata";
|
||||
src = fetchFromGitHub {
|
||||
repo = "go-bindata";
|
||||
owner = "jteeuwen";
|
||||
rev = "v${version}";
|
||||
sha256 = "1v8xwwlv6my5ixvis31m3vgz4sdc0cq82855j8gxmjp1scinv432";
|
||||
};
|
||||
|
||||
subPackages = [ "./" "go-bindata" ]; # don't build testdata
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = "https://github.com/jteeuwen/go-bindata";
|
||||
description = "A small utility which generates Go code from any file. Useful for embedding binary data in a Go program.";
|
||||
maintainers = with maintainers; [ cstrahan ];
|
||||
license = licenses.cc0 ;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
};
|
||||
|
||||
go-metrics = buildGoPackage rec {
|
||||
rev = "f770e6f5e91a8770cecee02d5d3f7c00b023b4df";
|
||||
name = "go-metrics-${stdenv.lib.strings.substring 0 7 rev}";
|
||||
goPackagePath = "github.com/rcrowley/go-metrics";
|
||||
src = fetchFromGitHub {
|
||||
inherit rev;
|
||||
owner = "rcrowley";
|
||||
repo = "go-metrics";
|
||||
sha256 = "07dc74kiam8v5my7rhi3yxqrpnaapladhk8b3qbnrpjk3shvnx5f";
|
||||
};
|
||||
|
||||
buildInputs = [ influxdb-go stathat ];
|
||||
};
|
||||
|
||||
go-update = buildGoPackage rec {
|
||||
rev = "c1385108bc3a016f1c88b75ea7d2e2a356a1571d";
|
||||
name = "go-update-${stdenv.lib.strings.substring 0 7 rev}";
|
||||
goPackagePath = "github.com/inconshreveable/go-update";
|
||||
|
||||
buildInputs = [ osext binarydist ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
inherit rev;
|
||||
owner = "inconshreveable";
|
||||
repo = "go-update";
|
||||
sha256 = "16zaxa0i07ismxdmkvjj4dpyc9lgp6wa94q090m9a48si40w9sjn";
|
||||
};
|
||||
};
|
||||
|
||||
go-vhost = buildGoPackage rec {
|
||||
rev = "c4c28117502e4bf00960c8282b2d1c51c865fe2c";
|
||||
name = "go-vhost-${stdenv.lib.strings.substring 0 7 rev}";
|
||||
goPackagePath = "github.com/inconshreveable/go-vhost";
|
||||
src = fetchFromGitHub {
|
||||
inherit rev;
|
||||
owner = "inconshreveable";
|
||||
repo = "go-vhost";
|
||||
sha256 = "1rway6sls6fl2s2jk20ajj36rrlzh9944ncc9pdd19kifix54z32";
|
||||
};
|
||||
};
|
||||
|
||||
influxdb-go = buildGoPackage rec {
|
||||
rev = "63c9a5f67dcb633d05164bf8442160c9e2e402f7";
|
||||
name = "influxdb-go-${stdenv.lib.strings.substring 0 7 rev}";
|
||||
goPackagePath = "github.com/influxdb/influxdb-go";
|
||||
src = fetchFromGitHub {
|
||||
inherit rev;
|
||||
owner = "influxdb";
|
||||
repo = "influxdb-go";
|
||||
sha256 = "16in1xhx94pir06aw166inn0hzpb7836xbws16laabs1p2np7bld";
|
||||
};
|
||||
};
|
||||
|
||||
log4go = buildGoPackage rec {
|
||||
rev = "48";
|
||||
name = "log4go-${rev}";
|
||||
goPackagePath = "code.google.com/p/log4go";
|
||||
|
||||
src = fetchhg {
|
||||
inherit rev;
|
||||
url = "https://${goPackagePath}";
|
||||
sha256 = "0q906sxrmwir295virfibqvdzlaj340qh2r4ysx1ccjrjazc0q5p";
|
||||
};
|
||||
|
||||
subPackages = [ "./" ]; # don't build examples
|
||||
};
|
||||
|
||||
mousetrap = buildGoPackage rec {
|
||||
rev = "9dbb96d2c3a964935b0870b5abaea13c98b483aa";
|
||||
name = "mousetrap-${stdenv.lib.strings.substring 0 7 rev}";
|
||||
goPackagePath = "github.com/inconshreveable/mousetrap";
|
||||
src = fetchFromGitHub {
|
||||
inherit rev;
|
||||
owner = "inconshreveable";
|
||||
repo = "mousetrap";
|
||||
sha256 = "1f9g8vm18qv1rcb745a4iahql9vfrz0jni9mnzriab2wy1pfdl5b";
|
||||
};
|
||||
};
|
||||
|
||||
oglematchers = buildGoPackage rec {
|
||||
rev = "4fc24f97b5b74022c2a3f4ca7eed57ca29083d3e";
|
||||
name = "oglematchers-${stdenv.lib.strings.substring 0 7 rev}";
|
||||
|
@ -123,6 +248,17 @@ let self = _self // overrides; _self = with self; {
|
|||
doCheck = false; # check this again
|
||||
};
|
||||
|
||||
osext = buildGoPackage rec {
|
||||
rev = "10";
|
||||
name = "osext-${rev}";
|
||||
goPackagePath = "bitbucket.org/kardianos/osext";
|
||||
src = fetchhg {
|
||||
inherit rev;
|
||||
url = "https://${goPackagePath}";
|
||||
sha256 = "1sj9r5pm28l9sqx6354fwp032n53znx9k8495k3dfnyqjrkvlw6n";
|
||||
};
|
||||
};
|
||||
|
||||
pflag = buildGoPackage rec {
|
||||
date = "20131112";
|
||||
rev = "94e98a55fb412fcbcfc302555cb990f5e1590627";
|
||||
|
@ -136,4 +272,54 @@ let self = _self // overrides; _self = with self; {
|
|||
doCheck = false; # bad import path in tests
|
||||
};
|
||||
|
||||
stathat = buildGoPackage rec {
|
||||
rev = "01d012b9ee2ecc107cb28b6dd32d9019ed5c1d77";
|
||||
name = "stathat-${stdenv.lib.strings.substring 0 7 rev}";
|
||||
goPackagePath = "github.com/stathat/go";
|
||||
src = fetchFromGitHub {
|
||||
inherit rev;
|
||||
owner = "stathat";
|
||||
repo = "go";
|
||||
sha256 = "0mrn70wjfcs4rfkmga3hbfqmbjk33skcsc8pyqxp02bzpwdpc4bi";
|
||||
};
|
||||
};
|
||||
|
||||
termbox-go = buildGoPackage rec {
|
||||
rev = "9aecf65084a5754f12d27508fa2e6ed56851953b";
|
||||
name = "termbox-go-${stdenv.lib.strings.substring 0 7 rev}";
|
||||
goPackagePath = "github.com/nsf/termbox-go";
|
||||
src = fetchFromGitHub {
|
||||
inherit rev;
|
||||
owner = "nsf";
|
||||
repo = "termbox-go";
|
||||
sha256 = "16sak07bgvmax4zxfrd4jia1dgygk733xa8vk8cdx28z98awbfsh";
|
||||
};
|
||||
|
||||
subPackages = [ "./" ]; # prevent building _demos
|
||||
};
|
||||
|
||||
websocket = buildGoPackage rec {
|
||||
rev = "f4076986b69612ecb8bc7ce06d742eda6286200d";
|
||||
name = "websocket-${stdenv.lib.strings.substring 0 7 rev}";
|
||||
goPackagePath = "github.com/gorilla/websocket";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
inherit rev;
|
||||
owner = "gorilla";
|
||||
repo = "websocket";
|
||||
sha256 = "09arvwlxw15maf4z8pcgjc25hd00mckqpdi0byafqfgm3nvvacvq";
|
||||
};
|
||||
};
|
||||
|
||||
yaml-v1 = buildGoPackage rec {
|
||||
rev = "b0c168ac0cf9493da1f9bb76c34b26ffef940b4a";
|
||||
name = "yaml-v1-${stdenv.lib.strings.substring 0 7 rev}";
|
||||
goPackagePath = "gopkg.in/yaml.v1";
|
||||
src = fetchgit {
|
||||
inherit rev;
|
||||
url = "https://github.com/go-yaml/yaml.git";
|
||||
sha256 = "0jbdy41pplf2d1j24qwr8gc5qsig6ai5ch8rwgvg72kq9q0901cy";
|
||||
};
|
||||
};
|
||||
|
||||
}; in self
|
||||
|
|
Loading…
Reference in a new issue