1{ stdenv, fetchFromGitHub, makeWrapper, go, lxc, sqlite, iproute, bridge-utils, devicemapper,
2btrfsProgs, iptables, bash, e2fsprogs, xz}:
3
4stdenv.mkDerivation rec {
5 name = "docker-${version}";
6 version = "1.8.1";
7
8 src = fetchFromGitHub {
9 owner = "docker";
10 repo = "docker";
11 rev = "v${version}";
12 sha256 = "0nwd5wsw9f50jh4s5c5sfd6hnyh3g2kmxcrid36y1phabh30yrcz";
13 };
14
15 buildInputs = [ makeWrapper go sqlite lxc iproute bridge-utils devicemapper btrfsProgs iptables e2fsprogs ];
16
17 dontStrip = true;
18
19 buildPhase = ''
20 patchShebangs .
21 export AUTO_GOPATH=1
22 export DOCKER_GITCOMMIT="786b29d4"
23 ./hack/make.sh dynbinary
24 '';
25
26 installPhase = ''
27 install -Dm755 ./bundles/${version}/dynbinary/docker-${version} $out/libexec/docker/docker
28 install -Dm755 ./bundles/${version}/dynbinary/dockerinit-${version} $out/libexec/docker/dockerinit
29 makeWrapper $out/libexec/docker/docker $out/bin/docker --prefix PATH : "${iproute}/sbin:sbin:${lxc}/bin:${iptables}/sbin:${e2fsprogs}/sbin:${xz}/bin"
30
31 # systemd
32 install -Dm644 ./contrib/init/systemd/docker.service $out/etc/systemd/system/docker.service
33
34 # completion
35 install -Dm644 ./contrib/completion/bash/docker $out/share/bash-completion/completions/docker
36 install -Dm644 ./contrib/completion/zsh/_docker $out/share/zsh/site-functions/_docker
37 '';
38
39 meta = with stdenv.lib; {
40 homepage = http://www.docker.com/;
41 description = "An open source project to pack, ship and run any application as a lightweight container";
42 license = licenses.asl20;
43 maintainers = with maintainers; [ offline tailhook ];
44 platforms = platforms.linux;
45 };
46}