From b6df637e86d2ff0861d38bc25613c0f62dd302c1 Mon Sep 17 00:00:00 2001 From: Charles Strahan Date: Mon, 23 Jun 2014 04:55:46 -0400 Subject: add etcd package --- pkgs/servers/etcd/default.nix | 30 +++++++++++++++++++++++ pkgs/servers/etcd/deps.nix | 54 +++++++++++++++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 86 insertions(+) create mode 100644 pkgs/servers/etcd/default.nix create mode 100644 pkgs/servers/etcd/deps.nix (limited to 'pkgs') diff --git a/pkgs/servers/etcd/default.nix b/pkgs/servers/etcd/default.nix new file mode 100644 index 000000000000..1fb21f2b8ab6 --- /dev/null +++ b/pkgs/servers/etcd/default.nix @@ -0,0 +1,30 @@ +{ stdenv, lib, go, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }: + +stdenv.mkDerivation rec { + version = "0.4.3"; + name = "etcd-${version}"; + + src = import ./deps.nix { + inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub; + }; + + buildInputs = [ go ]; + + buildPhase = '' + export GOPATH=$src + go build -v -o etcd github.com/coreos/etcd + ''; + + installPhase = '' + ensureDir $out/bin + mv etcd $out/bin/etcd + ''; + + meta = with stdenv.lib; { + description = "A highly-available key value store for shared configuration and service discovery"; + homepage = http://coreos.com/using-coreos/etcd/; + license = licenses.asl20; + maintainers = with maintainers; [ cstrahan ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/servers/etcd/deps.nix b/pkgs/servers/etcd/deps.nix new file mode 100644 index 000000000000..e9fd4a50d3e0 --- /dev/null +++ b/pkgs/servers/etcd/deps.nix @@ -0,0 +1,54 @@ +{ stdenv, lib, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }: + +let + goDeps = [ + { + root = "github.com/coreos/etcd"; + src = fetchFromGitHub { + owner = "coreos"; + repo = "etcd"; + rev = "9970141f76241c909977af7bafe7b6f2c4923de8"; + sha256 = "1bva46gfy4rkfw8k8pb3lsfzfg16csds01f0nvfrkh99pr7sp0sy"; + }; + } + { + root = "github.com/stathat/go"; + src = fetchFromGitHub { + owner = "stathat"; + repo = "go"; + rev = "01d012b9ee2ecc107cb28b6dd32d9019ed5c1d77"; + sha256 = "0mrn70wjfcs4rfkmga3hbfqmbjk33skcsc8pyqxp02bzpwdpc4bi"; + }; + } + { + root = "github.com/stretchr/objx"; + src = fetchFromGitHub { + owner = "stretchr"; + repo = "objx"; + rev = "cbeaeb16a013161a98496fad62933b1d21786672"; + sha256 = "1xn7iibjik77h6h0jilfvcjkkzaqz45baf44p3rb2i03hbmkqkp1"; + }; + } + { + root = "github.com/stretchr/testify"; + src = fetchFromGitHub { + owner = "stretchr"; + repo = "testify"; + rev = "3e03dde72495487a4deb74152ac205d0619fbc8d"; + sha256 = "1xd9sbi6y68cfwkxgybcz0dbfx4r6jmxq51wjj6six3wm9p7m8ls"; + }; + } + ]; + +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 782443c13b62..46ff2ba57ab1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6636,6 +6636,8 @@ let dovecot_pigeonhole = callPackage ../servers/mail/dovecot-pigeonhole { }; + etcd = callPackage ../servers/etcd { }; + ejabberd = callPackage ../servers/xmpp/ejabberd { erlang = erlangR16; }; -- cgit 1.4.1