summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorLuca Bruno <lethalman88@gmail.com>2015-02-03 18:13:14 +0100
committerLuca Bruno <lethalman88@gmail.com>2015-02-04 10:41:32 +0100
commit96701d6ff6f78246f825ddf8485ce78085e4a8ce (patch)
treef3a22a94877e92d6a6a07348eab385ccff2057cc /pkgs
parentb3dd66dee17ce4b4ed50734a7cb633dcc4249ffb (diff)
downloadnixlib-96701d6ff6f78246f825ddf8485ce78085e4a8ce.tar
nixlib-96701d6ff6f78246f825ddf8485ce78085e4a8ce.tar.gz
nixlib-96701d6ff6f78246f825ddf8485ce78085e4a8ce.tar.bz2
nixlib-96701d6ff6f78246f825ddf8485ce78085e4a8ce.tar.lz
nixlib-96701d6ff6f78246f825ddf8485ce78085e4a8ce.tar.xz
nixlib-96701d6ff6f78246f825ddf8485ce78085e4a8ce.tar.zst
nixlib-96701d6ff6f78246f825ddf8485ce78085e4a8ce.zip
Port ngrok to buildGoPackage
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/tools/misc/go-bindata/default.nix29
-rw-r--r--pkgs/tools/misc/go-bindata/deps.nix28
-rw-r--r--pkgs/tools/misc/ngrok/default.nix61
-rw-r--r--pkgs/tools/misc/ngrok/deps.nix141
-rw-r--r--pkgs/top-level/all-packages.nix2
-rw-r--r--pkgs/top-level/go-packages.nix188
6 files changed, 217 insertions, 232 deletions
diff --git a/pkgs/tools/misc/go-bindata/default.nix b/pkgs/tools/misc/go-bindata/default.nix
deleted file mode 100644
index 339126f7c981..000000000000
--- a/pkgs/tools/misc/go-bindata/default.nix
+++ /dev/null
@@ -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;
-  };
-}
diff --git a/pkgs/tools/misc/go-bindata/deps.nix b/pkgs/tools/misc/go-bindata/deps.nix
deleted file mode 100644
index 617f7dc6abe1..000000000000
--- a/pkgs/tools/misc/go-bindata/deps.nix
+++ /dev/null
@@ -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);
-}
diff --git a/pkgs/tools/misc/ngrok/default.nix b/pkgs/tools/misc/ngrok/default.nix
index b8bdfd5c896b..2d66ba27ca67 100644
--- a/pkgs/tools/misc/ngrok/default.nix
+++ b/pkgs/tools/misc/ngrok/default.nix
@@ -1,42 +1,41 @@
-{ stdenv, lib, go, go-bindata, fetchgit, fetchbzr, fetchhg, fetchFromGitHub }:
-
-let deps = import ./deps.nix {
-  inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub;
-};
-in stdenv.mkDerivation rec {
-  name = "ngrok-${version}";
-  version = "1.7";
-
-  buildInputs = [ go go-bindata ];
-
-  unpackPhase = ''
-    export GOPATH=$(pwd)
-    cp -LR ${deps}/src src
-    chmod u+w -R src
-    sourceRoot=src/github.com/inconshreveable/ngrok
-  '';
+{ stdenv, git, fetchFromGitHub, goPackages }:
 
-  preBuild = ''
-    export HOME=$(pwd)
-    export GOPATH=$(pwd):$GOPATH
+with goPackages;
 
-    # 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
-  '';
+buildGoPackage rec {
+  name = "ngrok-1.7";
+  goPackagePath = "ngrok";
+
+  src = fetchFromGitHub {
+    rev = "b7d5571aa7f12ac304b8f8286b855cc64dd9bab8";
+    owner = "inconshreveable";
+    repo = "ngrok";
+    sha256 = "0a5iq9l9f2xdg6gnc9pj0iczhycv1w5iwcqgzzap83xfpy01xkh4";
+  };
 
-  installPhase = ''
-    make release-client release-server
-    mkdir -p $out/bin
-    cp bin/ngrok{d,} $out/bin
+  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
   '';
 
-  meta = with lib; {
-    description = "Reverse proxy that creates a secure tunnel between from a public endpoint to a locally running web service";
+  buildInputs = [ git log4go websocket go-vhost mousetrap termbox-go go-metrics
+                  yaml-v1 go-bindata go-update binarydist osext ];
+
+  makeFlags = "-tags release";
+
+  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;
   };
+
 }
diff --git a/pkgs/tools/misc/ngrok/deps.nix b/pkgs/tools/misc/ngrok/deps.nix
deleted file mode 100644
index cc1ed2f3d486..000000000000
--- a/pkgs/tools/misc/ngrok/deps.nix
+++ /dev/null
@@ -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);
-}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 98252d8df239..d541dfcee591 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -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 { };
diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix
index 128af92eb70f..b00d1427052b 100644
--- a/pkgs/top-level/go-packages.nix
+++ b/pkgs/top-level/go-packages.nix
@@ -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