From a1f3808e2f6475cc2fabecc870c261966c633ccf Mon Sep 17 00:00:00 2001 From: Kamil Chmielewski <kamil.chm@gmail.com> Date: Fri, 3 Jun 2016 15:55:03 +0200 Subject: [PATCH] lxd: extracted from goPackages --- pkgs/development/go-modules/libs.json | 135 ++++++++++++++++++++++++++ pkgs/tools/admin/lxd/default.nix | 36 +++++++ pkgs/tools/admin/lxd/deps.json | 26 +++++ pkgs/top-level/all-packages.nix | 2 +- pkgs/top-level/go-packages.nix | 36 ------- 5 files changed, 198 insertions(+), 37 deletions(-) create mode 100644 pkgs/tools/admin/lxd/default.nix create mode 100644 pkgs/tools/admin/lxd/deps.json diff --git a/pkgs/development/go-modules/libs.json b/pkgs/development/go-modules/libs.json index 1fb038e7193..4ad8eb0dc21 100644 --- a/pkgs/development/go-modules/libs.json +++ b/pkgs/development/go-modules/libs.json @@ -151,5 +151,140 @@ "rev": "32c6cc29c14570de4cf6d7e7737d68fb2d01ad15", "sha256": "0v401f761l88yapiaw23pxvxviqrwl2r2vfd6lq02044i7x4i5r3" } + }, + { + "goPackagePath": "github.com/gorilla/websocket", + "fetch": { + "type": "git", + "url": "https://github.com/gorilla/websocket", + "rev": "a622679ebd7a3b813862379232f645f8e690e43f", + "sha256": "1nc9jbcmgya1i6dmf6sbcqsnxi9hbjg6dz1z0k7zmc6xdwlq0y4q" + } + }, + { + "goPackagePath": "github.com/syndtr/gocapability", + "fetch": { + "type": "git", + "url": "https://github.com/syndtr/gocapability", + "rev": "2c00daeb6c3b45114c80ac44119e7b8801fdd852", + "sha256": "1x7jdcg2r5pakjf20q7bdiidfmv7vcjiyg682186rkp2wz0yws0l" + } + }, + { + "goPackagePath": "gopkg.in/inconshreveable/log15.v2", + "fetch": { + "type": "git", + "url": "https://gopkg.in/inconshreveable/log15.v2", + "rev": "b105bd37f74e5d9dc7b6ad7806715c7a2b83fd3f", + "sha256": "18rldvi60i7b3lljfrsqgcc24gdkw2pcixxydznyggaqhh96l6a8" + } + }, + { + "goPackagePath": "github.com/gorilla/mux", + "fetch": { + "type": "git", + "url": "https://github.com/gorilla/mux", + "rev": "8096f47503459bcc74d1f4c487b7e6e42e5746b5", + "sha256": "0163fm9jsh54df471mx9kfhdg0070klqhw9ja0qwdzqibxq791b9" + } + }, + { + "goPackagePath": "github.com/pborman/uuid", + "fetch": { + "type": "git", + "url": "https://github.com/pborman/uuid", + "rev": "ca53cad383cad2479bbba7f7a1a05797ec1386e4", + "sha256": "0rcx669bbjkkwdlw81spnra4ffgzd4rbpywnrj3w41m9vq6mk1gn" + } + }, + { + "goPackagePath": "gopkg.in/flosch/pongo2.v3", + "fetch": { + "type": "git", + "url": "https://gopkg.in/flosch/pongo2.v3", + "rev": "5e81b817a0c48c1c57cdf1a9056cf76bdee02ca9", + "sha256": "0fd7d79644zmcirsb1gvhmh0l5vb5nyxmkzkvqpmzzcg6yfczph8" + } + }, + { + "goPackagePath": "github.com/olekukonko/tablewriter", + "fetch": { + "type": "git", + "url": "https://github.com/olekukonko/tablewriter", + "rev": "cca8bbc0798408af109aaaa239cbd2634846b340", + "sha256": "0f9ph3z7lh6p6gihbl1461j9yq5qiaqxr9mzdkp512n18v89ml48" + } + }, + { + "goPackagePath": "github.com/mattn/go-sqlite3", + "fetch": { + "type": "git", + "url": "https://github.com/mattn/go-sqlite3", + "rev": "c5aee9649735e8dadac55eb968ccebd9fa29a881", + "sha256": "1505piq2mks6s77hfzrlv2siiqpy55lxgy1h9364jfz0baxjqpas" + } + }, + { + "goPackagePath": "gopkg.in/lxc/go-lxc.v2", + "fetch": { + "type": "git", + "url": "https://gopkg.in/lxc/go-lxc.v2", + "rev": "8f9e220b36393c03854c2d224c5a55644b13e205", + "sha256": "1dc1n2561k3pxbm2zzh3qwlh30bcb2k9v22ghvr7ps2j9lmhs0ip" + } + }, + { + "goPackagePath": "github.com/mattn/go-runewidth", + "fetch": { + "type": "git", + "url": "https://github.com/mattn/go-runewidth", + "rev": "d6bea18f789704b5f83375793155289da36a3c7f", + "sha256": "1hnigpn7rjbwd1ircxkyx9hvi0xmxr32b2jdy2jzw6b3jmcnz1fs" + } + }, + { + "goPackagePath": "github.com/coreos/go-systemd", + "fetch": { + "type": "git", + "url": "https://github.com/coreos/go-systemd", + "rev": "a606a1e936df81b70d85448221c7b1c6d8a74ef1", + "sha256": "0fhan564swp982dnzzspb6jzfdl453489c0qavh65g3shy5x8x28" + } + }, + { + "goPackagePath": "github.com/dustinkirkland/golang-petname", + "fetch": { + "type": "git", + "url": "https://github.com/dustinkirkland/golang-petname", + "rev": "2182cecef7f257230fc998bc351a08a5505f5e6c", + "sha256": "1xagj34y5rxl7rykhil8iqxlls9rbgcxgdvgfp7kg39pinw83arl" + } + }, + { + "goPackagePath": "github.com/gorilla/context", + "fetch": { + "type": "git", + "url": "https://github.com/gorilla/context", + "rev": "215affda49addc4c8ef7e2534915df2c8c35c6cd", + "sha256": "1ybvjknncyx1f112mv28870n0l7yrymsr0861vzw10gc4yn1h97g" + } + }, + { + "goPackagePath": "github.com/mattn/go-colorable", + "fetch": { + "type": "git", + "url": "https://github.com/mattn/go-colorable", + "rev": "3dac7b4f76f6e17fb39b768b89e3783d16e237fe", + "sha256": "08680mba8hh2rghymqbzd4m40r9k765w5kbzvrif9ngd6h85qnw6" + } + }, + { + "goPackagePath": "github.com/gosexy/gettext", + "fetch": { + "type": "git", + "url": "https://github.com/gosexy/gettext", + "rev": "305f360aee30243660f32600b87c3c1eaa947187", + "sha256": "0sm7ziv56ms0lrk30ipbl6i17azar3a44dd2xvr011442zs5ym09" + } } ] \ No newline at end of file diff --git a/pkgs/tools/admin/lxd/default.nix b/pkgs/tools/admin/lxd/default.nix new file mode 100644 index 00000000000..e1adb6ccf90 --- /dev/null +++ b/pkgs/tools/admin/lxd/default.nix @@ -0,0 +1,36 @@ +# This file was generated by go2nix. +{ stdenv, lib, pkgconfig, lxc, goPackages, fetchFromGitHub }: + +with goPackages; + +buildGoPackage rec { + name = "lxd-${version}"; + version = "2.0.0.rc4"; + rev = "lxd-${version}"; + + goPackagePath = "github.com/lxc/lxd"; + + src = fetchFromGitHub { + inherit rev; + owner = "lxc"; + repo = "lxd"; + sha256 = "1rpyyj6d38d9kmb47dcmy1x41fiacj384yx01yslsrj2l6qxcdjn"; + }; + + goDeps = ./deps.json; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ lxc ]; + + postInstall = '' + cp go/src/$goPackagePath/scripts/lxd-images $bin/bin + ''; + + meta = with stdenv.lib; { + description = "Daemon based on liblxc offering a REST API to manage containers"; + homepage = https://github.com/lxc/lxd; + license = licenses.asl20; + maintainers = with maintainers; [ globin fpletz ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/tools/admin/lxd/deps.json b/pkgs/tools/admin/lxd/deps.json new file mode 100644 index 00000000000..3e9a811acce --- /dev/null +++ b/pkgs/tools/admin/lxd/deps.json @@ -0,0 +1,26 @@ +[ + { + "include": "../../../go-modules/libs.json", + "packages": [ + "github.com/golang/protobuf", + "github.com/gorilla/websocket", + "github.com/syndtr/gocapability", + "gopkg.in/inconshreveable/log15.v2", + "github.com/gorilla/mux", + "github.com/pborman/uuid", + "golang.org/x/crypto", + "gopkg.in/flosch/pongo2.v3", + "gopkg.in/tomb.v2", + "github.com/olekukonko/tablewriter", + "github.com/mattn/go-sqlite3", + "gopkg.in/lxc/go-lxc.v2", + "gopkg.in/yaml.v2", + "github.com/mattn/go-runewidth", + "github.com/coreos/go-systemd", + "github.com/dustinkirkland/golang-petname", + "github.com/gorilla/context", + "github.com/mattn/go-colorable", + "github.com/gosexy/gettext" + ] + } +] diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b059eee3dbb..4482e11e3de 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2350,7 +2350,7 @@ in lshw = callPackage ../tools/system/lshw { }; lxc = callPackage ../os-specific/linux/lxc { }; - lxd = goPackages.lxd.bin // { outputs = [ "bin" ]; }; + lxd = (callPackage ../tools/admin/lxd { }).bin; lzip = callPackage ../tools/compression/lzip { }; diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix index 190f520df31..75b7d25fd79 100644 --- a/pkgs/top-level/go-packages.nix +++ b/pkgs/top-level/go-packages.nix @@ -1666,17 +1666,6 @@ let propagatedBuildInputs = [ osext go-systemd ]; }; - go-lxc = buildFromGitHub { - rev = "d89df0ad9dc13a7ce491eedaa771b076cf32db16"; - version = "2016-02-12"; - owner = "lxc"; - repo = "go-lxc"; - sha256 = "051kqvvclfcinqcbi4zch694llvnxa5vvbw6cbdxbkzhr5zxm36q"; - goPackagePath = "gopkg.in/lxc/go-lxc.v2"; - nativeBuildInputs = [ pkgs.pkgconfig ]; - buildInputs = [ pkgs.lxc ]; - }; - go-lz4 = buildFromGitHub { rev = "74ddf82598bc4745b965729e9c6a463bedd33049"; owner = "bkaradzic"; @@ -2344,31 +2333,6 @@ let goPackageAliases = [ "github.com/natefinch/lumberjack" ]; }; - - lxd = buildFromGitHub { - rev = "lxd-2.0.0.rc4"; - owner = "lxc"; - repo = "lxd"; - sha256 = "1rpyyj6d38d9kmb47dcmy1x41fiacj384yx01yslsrj2l6qxcdjn"; - excludedPackages = "test"; # Don't build the binary called test which causes conflicts - buildInputs = [ - gosexy.gettext websocket crypto log15 go-lxc yaml-v2 tomb protobuf pongo2 - go-uuid tablewriter golang-petname mux go-sqlite3 goproxy - pkgs.python3 go-systemd uuid gocapability - ]; - postInstall = '' - cp go/src/$goPackagePath/scripts/lxd-images $bin/bin - ''; - - meta = with stdenv.lib; { - description = "Daemon based on liblxc offering a REST API to manage containers"; - homepage = https://github.com/lxc/lxd; - license = licenses.asl20; - maintainers = with maintainers; [ globin fpletz ]; - platforms = platforms.linux; - }; - }; - manners = buildFromGitHub { rev = "0.4.0"; owner = "braintree";