Skip to content

Instantly share code, notes, and snippets.

@moretea
Created June 14, 2017 13:30
Show Gist options
  • Save moretea/d2a73bdd59dd62620ad9a29bbef666e1 to your computer and use it in GitHub Desktop.
Save moretea/d2a73bdd59dd62620ad9a29bbef666e1 to your computer and use it in GitHub Desktop.
with (import <nixpkgs> {});
let
buildGlideDeps = { name, glideYaml, glideLock, sha256 }:
stdenv.mkDerivation {
inherit name;
outputHashAlgo = "sha256";
outputHashMode = "recursive";
outputHash = sha256;
buildInputs = [ go glide git bazaar mercurial subversion curl cacert];
GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt";
NIX_SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
src = null;
buildCommand = ''
export GLIDE_HOME=`pwd`
cp ${glideYaml} ./glide.yaml
cp ${glideLock} ./glide.lock
glide install
mkdir -p $out/share/go/vendor/
cp -r ./vendor $out/share/go/vendor
'';
};
in
buildGoPackage rec {
name = "users";
src = ./.;
goPackagePath = "github.com/microservices-demo/user";
deps = buildGlideDeps {
name = "users-deps";
glideYaml = ./glide.yaml;
glideLock = ./glide.lock;
sha256="0xxnpnkf726m2ssyhv9n5z43j1ir43d2g3kfdrk5b5zggr2rr5kd";
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment