diff options
21 files changed, 742 insertions, 107 deletions
diff --git a/nixos/modules/services/cluster/kubernetes.nix b/nixos/modules/services/cluster/kubernetes.nix index d00c1aaa1055..0abef29dd19c 100644 --- a/nixos/modules/services/cluster/kubernetes.nix +++ b/nixos/modules/services/cluster/kubernetes.nix @@ -78,12 +78,6 @@ in { type = types.int; }; - readOnlyPort = mkOption { - description = "Kubernets apiserver read-only port."; - default = 7080; - type = types.int; - }; - securePort = mkOption { description = "Kubernetes apiserver secure port."; default = 6443; @@ -102,6 +96,12 @@ in { type = types.str; }; + clientCaFile = mkOption { + description = "Kubernetes apiserver CA file for client auth."; + default = ""; + type = types.str; + }; + tokenAuth = mkOption { description = '' Kubernetes apiserver token authentication file. See @@ -158,6 +158,19 @@ in { type = types.str; }; + runtimeConfig = mkOption { + description = "Api runtime configuration"; + default = ""; + example = "api/all=false,api/v1=true"; + type = types.str; + }; + + admissionControl = mkOption { + description = "Kubernetes admission control plugins to use."; + default = ["AlwaysAdmit"]; + type = types.listOf types.str; + }; + extraOpts = mkOption { description = "Kubernetes apiserver extra command line options."; default = ""; @@ -222,12 +235,6 @@ in { type = types.str; }; - machines = mkOption { - description = "Kubernetes controller list of machines to schedule to schedule onto"; - default = []; - type = types.listOf types.str; - }; - extraOpts = mkOption { description = "Kubernetes controller extra command line options."; default = ""; @@ -260,6 +267,20 @@ in { type = types.int; }; + healthz = { + bind = mkOption { + description = "Kubernetes kubelet healthz listening address."; + default = "127.0.0.1"; + type = types.str; + }; + + port = mkOption { + description = "Kubernetes kubelet healthz port."; + default = 10248; + type = types.int; + }; + }; + hostname = mkOption { description = "Kubernetes kubelet hostname override"; default = config.networking.hostName; @@ -374,7 +395,6 @@ in { --etcd-servers=${concatMapStringsSep "," (f: "http://${f}") cfg.etcdServers} \ --insecure-bind-address=${cfg.apiserver.address} \ --insecure-port=${toString cfg.apiserver.port} \ - --read-only-port=${toString cfg.apiserver.readOnlyPort} \ --bind-address=${cfg.apiserver.publicAddress} \ --allow-privileged=${if cfg.apiserver.allowPrivileged then "true" else "false"} \ ${optionalString (cfg.apiserver.tlsCertFile!="") @@ -383,11 +403,16 @@ in { "--tls-private-key-file=${cfg.apiserver.tlsPrivateKeyFile}"} \ ${optionalString (cfg.apiserver.tokenAuth!=[]) "--token-auth-file=${tokenAuthFile}"} \ + ${optionalString (cfg.apiserver.clientCaFile!="") + "--client-ca-file=${cfg.apiserver.clientCaFile}"} \ --authorization-mode=${cfg.apiserver.authorizationMode} \ ${optionalString (cfg.apiserver.authorizationMode == "ABAC") "--authorization-policy-file=${authorizationPolicyFile}"} \ --secure-port=${toString cfg.apiserver.securePort} \ --service-cluster-ip-range=${cfg.apiserver.portalNet} \ + ${optionalString (cfg.apiserver.runtimeConfig!="") + "--runtime-config=${cfg.apiserver.runtimeConfig}"} \ + --admission_control=${cfg.apiserver.admissionControl} \ --logtostderr=true \ ${optionalString cfg.verbose "--v=6 --log-flush-frequency=1s"} \ ${cfg.apiserver.extraOpts} @@ -431,7 +456,6 @@ in { --address=${cfg.controllerManager.address} \ --port=${toString cfg.controllerManager.port} \ --master=${cfg.controllerManager.master} \ - --machines=${concatStringsSep "," cfg.controllerManager.machines} \ --logtostderr=true \ ${optionalString cfg.verbose "--v=6 --log-flush-frequency=1s"} \ ${cfg.controllerManager.extraOpts} @@ -454,6 +478,8 @@ in { --register-node=${if cfg.kubelet.registerNode then "true" else "false"} \ --address=${cfg.kubelet.address} \ --port=${toString cfg.kubelet.port} \ + --healthz-bind-address=${cfg.kubelet.healthz.bind} \ + --healthz-port=${toString cfg.kubelet.healthz.port} \ --hostname-override=${cfg.kubelet.hostname} \ --allow-privileged=${if cfg.kubelet.allowPrivileged then "true" else "false"} \ --root-dir=${cfg.dataDir} \ @@ -504,9 +530,6 @@ in { User = "kubernetes"; }; }; - - services.skydns.enable = mkDefault true; - services.skydns.domain = mkDefault cfg.kubelet.clusterDomain; }) (mkIf (any (el: el == "master") cfg.roles) { @@ -524,6 +547,9 @@ in { (mkIf (any (el: el == "node" || el == "master") cfg.roles) { services.etcd.enable = mkDefault true; + + services.skydns.enable = mkDefault true; + services.skydns.domain = mkDefault cfg.kubelet.clusterDomain; }) (mkIf ( @@ -538,8 +564,10 @@ in { serviceConfig.Type = "oneshot"; script = '' mkdir -p /var/run/kubernetes - chown kubernetes /var/run/kubernetes - ln -fs ${pkgs.writeText "kubernetes-dockercfg" cfg.dockerCfg} /var/run/kubernetes/.dockercfg + chown kubernetes /var/lib/kubernetes + + rm ${cfg.dataDir}/.dockercfg || true + ln -fs ${pkgs.writeText "kubernetes-dockercfg" cfg.dockerCfg} ${cfg.dataDir}/.dockercfg ''; }; diff --git a/nixos/modules/services/misc/etcd.nix b/nixos/modules/services/misc/etcd.nix index 26d2753879d0..e1839b936f01 100644 --- a/nixos/modules/services/misc/etcd.nix +++ b/nixos/modules/services/misc/etcd.nix @@ -122,14 +122,6 @@ in { mkdir -m 0700 -p ${cfg.dataDir} if [ "$(id -u)" = 0 ]; then chown etcd ${cfg.dataDir}; fi ''; - postStart = '' - until ${pkgs.etcdctl}/bin/etcdctl set /nixos/state 'up'; do - sleep 1; - done - until ${pkgs.etcdctl}/bin/etcdctl get /nixos/state | grep up; do - sleep 1; - done - ''; }; environment.systemPackages = [ pkgs.etcdctl ]; diff --git a/nixos/modules/services/networking/racoon.nix b/nixos/modules/services/networking/racoon.nix index 9428d9112a1b..86e13d1ea0d6 100644 --- a/nixos/modules/services/networking/racoon.nix +++ b/nixos/modules/services/networking/racoon.nix @@ -36,7 +36,10 @@ in { Type = "forking"; Restart = "always"; }; - preStart = "rm /var/run/racoon.pid || true"; + preStart = '' + rm /var/run/racoon.pid || true + mkdir -p /var/racoon + ''; }; }; } diff --git a/nixos/modules/services/networking/skydns.nix b/nixos/modules/services/networking/skydns.nix index 3b9390914891..f5eb452fec62 100644 --- a/nixos/modules/services/networking/skydns.nix +++ b/nixos/modules/services/networking/skydns.nix @@ -79,7 +79,7 @@ in { ETCD_CACERT = cfg.etcd.caCert; SKYDNS_ADDR = cfg.address; SKYDNS_DOMAIN = cfg.domain; - SKYDNS_NAMESERVER = concatStringsSep "," cfg.nameservers; + SKYDNS_NAMESERVERS = concatStringsSep "," cfg.nameservers; }; serviceConfig = { ExecStart = "${cfg.package}/bin/skydns"; diff --git a/pkgs/applications/graphics/simple-scan/default.nix b/pkgs/applications/graphics/simple-scan/default.nix index 954b2e02136d..2591c3f7ffb8 100644 --- a/pkgs/applications/graphics/simple-scan/default.nix +++ b/pkgs/applications/graphics/simple-scan/default.nix @@ -1,15 +1,28 @@ -{ stdenv, fetchurl, cairo, colord, glib, gtk3, intltool, itstool, libxml2 -, makeWrapper, pkgconfig, saneBackends, systemd, vala }: +{ stdenv, fetchurl, cairo, colord, glib, gtk3, gusb, intltool, itstool, libusb, libxml2 +, makeWrapper, packagekit, pkgconfig, saneBackends, systemd, vala }: -let version = "3.17.4"; in +let version = "3.17.90"; in stdenv.mkDerivation rec { name = "simple-scan-${version}"; src = fetchurl { - sha256 = "1pslbv45g01g039zj2b01k08f763kkhzqw8wwz7yh27m7bjllnx6"; + sha256 = "0xc3ln97dgvxrwy2qn82k9qvsr5kxksms4igzkivya3xpq2kx85c"; url = "https://launchpad.net/simple-scan/3.17/${version}/+download/${name}.tar.xz"; }; + buildInputs = [ cairo colord glib gusb gtk3 libusb libxml2 packagekit + saneBackends systemd vala ]; + nativeBuildInputs = [ intltool itstool makeWrapper pkgconfig ]; + + enableParallelBuilding = true; + + doCheck = true; + + preFixup = '' + wrapProgram "$out/bin/simple-scan" \ + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" + ''; + meta = with stdenv.lib; { description = "Simple scanning utility"; longDescription = '' @@ -25,17 +38,4 @@ stdenv.mkDerivation rec { platforms = with platforms; linux; maintainers = with maintainers; [ nckx ]; }; - - buildInputs = [ cairo colord glib gtk3 libxml2 - saneBackends systemd vala ]; - nativeBuildInputs = [ intltool itstool makeWrapper pkgconfig ]; - - enableParallelBuilding = true; - - doCheck = true; - - preFixup = '' - wrapProgram "$out/bin/simple-scan" \ - --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" - ''; } diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix index a096d43b11cc..56d4cc7e769b 100644 --- a/pkgs/applications/networking/cluster/kubernetes/default.nix +++ b/pkgs/applications/networking/cluster/kubernetes/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchFromGitHub, which, go, makeWrapper, iptables, rsync, utillinux, coreutils }: +{ stdenv, fetchFromGitHub, which, go, makeWrapper, iptables, rsync, utillinux, coreutils, e2fsprogs, procps-ng }: stdenv.mkDerivation rec { name = "kubernetes-${version}"; - version = "0.18.0"; + version = "1.0.3"; src = fetchFromGitHub { owner = "GoogleCloudPlatform"; repo = "kubernetes"; rev = "v${version}"; - sha256 = "1adbd5n2fs1278f6kz6pd23813w2k4pgcxjl21idflh8jafxsyj7"; + sha256 = "12wqw9agiz07wlw1sd0n41fn6xf74zn5sv37hslfa77w2d4ri5yb"; }; buildInputs = [ makeWrapper which go iptables rsync ]; @@ -26,14 +26,23 @@ stdenv.mkDerivation rec { ''; installPhase = '' - mkdir -p "$out/bin" - cp _output/local/go/bin/* "$out/bin/" + mkdir -p "$out/bin" "$out"/libexec/kubernetes/cluster + cp _output/local/go/bin/{kube*,hyperkube} "$out/bin/" cp cluster/addons/dns/kube2sky/kube2sky "$out/bin/" + cp cluster/saltbase/salt/helpers/safe_format_and_mount "$out/libexec/kubernetes" + cp -R hack "$out/libexec/kubernetes" + cp cluster/update-storage-objects.sh "$out/libexec/kubernetes/cluster" + makeWrapper "$out"/libexec/kubernetes/cluster/update-storage-objects.sh "$out"/bin/kube-update-storage-objects \ + --prefix KUBE_BIN : "$out/bin" ''; preFixup = '' wrapProgram "$out/bin/kube-proxy" --prefix PATH : "${iptables}/bin" - wrapProgram "$out/bin/kubelet" --prefix PATH : "${utillinux}/bin" + wrapProgram "$out/bin/kubelet" --prefix PATH : "${utillinux}/bin:${procps-ng}/bin" + chmod +x "$out/libexec/kubernetes/safe_format_and_mount" + wrapProgram "$out/libexec/kubernetes/safe_format_and_mount" --prefix PATH : "${e2fsprogs}/bin:${utillinux}/bin" + substituteInPlace "$out"/libexec/kubernetes/cluster/update-storage-objects.sh \ + --replace KUBE_OUTPUT_HOSTBIN KUBE_BIN ''; meta = with stdenv.lib; { diff --git a/pkgs/development/compilers/go/1.4.nix b/pkgs/development/compilers/go/1.4.nix index 559bd9b01c33..923112d12dc9 100644 --- a/pkgs/development/compilers/go/1.4.nix +++ b/pkgs/development/compilers/go/1.4.nix @@ -1,11 +1,10 @@ -{ stdenv, lib, fetchurl, bison, glibc, bash, coreutils, makeWrapper, tzdata, iana_etc, perl, goPackages - +{ stdenv, lib, fetchurl, tzdata, iana_etc, libcCross +, pkgconfig +, pcre , Security }: let - loader386 = "${glibc}/lib/ld-linux.so.2"; - loaderAmd64 = "${glibc}/lib/ld-linux-x86-64.so.2"; - loaderArm = "${glibc}/lib/ld-linux.so.3"; + libc = if stdenv ? "cross" then libcCross else stdenv.cc.libc; in stdenv.mkDerivation rec { @@ -17,10 +16,8 @@ stdenv.mkDerivation rec { sha256 = "3e5d07bc5214a1ffe187cf6406c5b5a80ee44f12f6bca97a5463db0afee2f6ac"; }; - # perl is used for testing go vet - buildInputs = [ bison bash makeWrapper perl ] - ++ lib.optionals stdenv.isLinux [ glibc ]; - + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ pcre ]; propagatedBuildInputs = lib.optional stdenv.isDarwin Security; # I'm not sure what go wants from its 'src', but the go installation manual @@ -51,14 +48,18 @@ stdenv.mkDerivation rec { sed -i '/TestShutdownUnix/areturn' src/net/net_test.go # Disable the hostname test sed -i '/TestHostname/areturn' src/os/os_test.go - sed -i 's,/etc/protocols,${iana_etc}/etc/protocols,' src/net/lookup_unix.go # ParseInLocation fails the test sed -i '/TestParseInSydney/areturn' src/time/format_test.go + + sed -i 's,/etc/protocols,${iana_etc}/etc/protocols,' src/net/lookup_unix.go '' + lib.optionalString stdenv.isLinux '' sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/time/zoneinfo_unix.go - sed -i 's,/lib/ld-linux.so.3,${loaderArm},' src/cmd/5l/asm.c - sed -i 's,/lib64/ld-linux-x86-64.so.2,${loaderAmd64},' src/cmd/6l/asm.c - sed -i 's,/lib/ld-linux.so.2,${loader386},' src/cmd/8l/asm.c + + # Find the loader dynamically + LOADER="$(find ${libc}/lib -name ld-linux\* | head -n 1)" + + # Replace references to the loader + find src/cmd -name asm.c -exec sed -i "s,/lib/ld-linux.*\.so\.[0-9],$LOADER," {} \; '' + lib.optionalString stdenv.isDarwin '' sed -i 's,"/etc","'"$TMPDIR"'",' src/os/os_test.go sed -i 's,/_go_os_test,'"$TMPDIR"'/_go_os_test,' src/os/path_test.go diff --git a/pkgs/development/compilers/go/1.5.nix b/pkgs/development/compilers/go/1.5.nix new file mode 100644 index 000000000000..8abafe0d117c --- /dev/null +++ b/pkgs/development/compilers/go/1.5.nix @@ -0,0 +1,118 @@ +{ stdenv, lib, fetchurl, tzdata, iana_etc, go_1_4, runCommand +, perl, which, pkgconfig, patch +, pcre +, Security }: + +let + goBootstrap = runCommand "go-bootstrap" {} '' + mkdir $out + cp -rf ${go_1_4}/* $out/ + chmod -R u+w $out + find $out -name "*.c" -delete + cp -rf $out/bin/* $out/share/go/bin/ + ''; +in + +stdenv.mkDerivation rec { + name = "go-${version}"; + version = "1.5"; + + src = fetchurl { + url = "https://github.com/golang/go/archive/go${version}.tar.gz"; + sha256 = "03g3w6af74xggqlgwf5xriqzl9a0q17sp0qbyq8qs55qls07r81p"; + }; + + # perl is used for testing go vet + nativeBuildInputs = [ perl which pkgconfig patch ]; + buildInputs = [ pcre ]; + propagatedBuildInputs = lib.optional stdenv.isDarwin Security; + + # I'm not sure what go wants from its 'src', but the go installation manual + # describes an installation keeping the src. + preUnpack = '' + mkdir -p $out/share + cd $out/share + ''; + + prePatch = '' + # Ensure that the source directory is named go + cd .. + if [ ! -d go ]; then + mv * go + fi + + cd go + patchShebangs ./ # replace /bin/bash + + # Disabling the 'os/http/net' tests (they want files not available in + # chroot builds) + rm src/net/{listen_test.go,parse_test.go,port_test.go} + rm src/syscall/exec_linux_test.go + # !!! substituteInPlace does not seems to be effective. + # The os test wants to read files in an existing path. Just don't let it be /usr/bin. + sed -i 's,/usr/bin,'"`pwd`", src/os/os_test.go + sed -i 's,/bin/pwd,'"`type -P pwd`", src/os/os_test.go + # Disable the unix socket test + sed -i '/TestShutdownUnix/areturn' src/net/net_test.go + # Disable the hostname test + sed -i '/TestHostname/areturn' src/os/os_test.go + # ParseInLocation fails the test + sed -i '/TestParseInSydney/areturn' src/time/format_test.go + # Remove the api check as it never worked + sed -i '/src\/cmd\/api\/run.go/ireturn nil' src/cmd/dist/test.go + # Remove the coverage test as we have removed this utility + sed -i '/TestCoverageWithCgo/areturn' src/cmd/go/go_test.go + + sed -i 's,/etc/protocols,${iana_etc}/etc/protocols,' src/net/lookup_unix.go + '' + lib.optionalString stdenv.isLinux '' + sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/time/zoneinfo_unix.go + '' + lib.optionalString stdenv.isDarwin '' + sed -i 's,"/etc","'"$TMPDIR"'",' src/os/os_test.go + sed -i 's,/_go_os_test,'"$TMPDIR"'/_go_os_test,' src/os/path_test.go + sed -i '/TestRead0/areturn' src/os/os_test.go + sed -i '/TestSystemRoots/areturn' src/crypto/x509/root_darwin_test.go + + touch $TMPDIR/group $TMPDIR/hosts $TMPDIR/passwd + ''; + + patches = [ + ./cacert-1.5.patch + ./remove-tools-1.5.patch + ]; + + GOOS = if stdenv.isDarwin then "darwin" else "linux"; + GOARCH = if stdenv.isDarwin then "amd64" + else if stdenv.system == "i686-linux" then "386" + else if stdenv.system == "x86_64-linux" then "amd64" + else if stdenv.isArm then "arm" + else throw "Unsupported system"; + GOARM = stdenv.lib.optionalString (stdenv.system == "armv5tel-linux") "5"; + GO386 = 387; # from Arch: don't assume sse2 on i686 + CGO_ENABLED = 1; + GOROOT_BOOTSTRAP = "${goBootstrap}/share/go"; + + # The go build actually checks for CC=*/clang and does something different, so we don't + # just want the generic `cc` here. + CC = if stdenv.isDarwin then "clang" else "cc"; + + installPhase = '' + mkdir -p "$out/bin" + export GOROOT="$(pwd)/" + export GOBIN="$out/bin" + export PATH="$GOBIN:$PATH" + cd ./src + echo Building + ./all.bash + ''; + + setupHook = ./setup-hook.sh; + + meta = with stdenv.lib; { + branch = "1.5"; + homepage = http://golang.org/; + description = "The Go Programming language"; + license = licenses.bsd3; + maintainers = with maintainers; [ cstrahan wkennington ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/development/compilers/go/cacert-1.5.patch b/pkgs/development/compilers/go/cacert-1.5.patch new file mode 100644 index 000000000000..32c322a104e6 --- /dev/null +++ b/pkgs/development/compilers/go/cacert-1.5.patch @@ -0,0 +1,8 @@ +--- a/src/crypto/x509/root_linux.go 2015-08-19 23:06:11.115133174 +0200 ++++ b/src/crypto/x509/root_linux.go 2015-08-19 23:07:04.238507161 +0200 +@@ -10,4 +10,5 @@ + "/etc/pki/tls/certs/ca-bundle.crt", // Fedora/RHEL + "/etc/ssl/ca-bundle.pem", // OpenSUSE + "/etc/pki/tls/cacert.pem", // OpenELEC ++ "/etc/ssl/certs/ca-bundle.crt", // NixOS + } diff --git a/pkgs/development/compilers/go/remove-tools-1.5.patch b/pkgs/development/compilers/go/remove-tools-1.5.patch new file mode 100644 index 000000000000..00f4fac7476a --- /dev/null +++ b/pkgs/development/compilers/go/remove-tools-1.5.patch @@ -0,0 +1,60 @@ +diff --git a/src/cmd/go/pkg.go b/src/cmd/go/pkg.go +index 61e3d8d..f8475f4 100644 +--- a/src/cmd/go/pkg.go ++++ b/src/cmd/go/pkg.go +@@ -665,7 +665,7 @@ var goTools = map[string]targetDir{ + "cmd/asm": toTool, + "cmd/compile": toTool, + "cmd/cgo": toTool, +- "cmd/cover": toTool, ++ "nixos.org/x/tools/cmd/cover": toTool, + "cmd/dist": toTool, + "cmd/doc": toTool, + "cmd/fix": toTool, +@@ -676,9 +676,9 @@ var goTools = map[string]targetDir{ + "cmd/pack": toTool, + "cmd/pprof": toTool, + "cmd/trace": toTool, +- "cmd/vet": toTool, ++ "nixos.org/x/tools/cmd/vet": toTool, + "cmd/yacc": toTool, +- "golang.org/x/tools/cmd/godoc": toBin, ++ "nixos.org/x/tools/cmd/godoc": toBin, + "code.google.com/p/go.tools/cmd/cover": stalePath, + "code.google.com/p/go.tools/cmd/godoc": stalePath, + "code.google.com/p/go.tools/cmd/vet": stalePath, +diff --git a/src/go/build/build.go b/src/go/build/build.go +index 496fe11..8c81dbd 100644 +--- a/src/go/build/build.go ++++ b/src/go/build/build.go +@@ -1388,7 +1388,7 @@ func init() { + } + + // ToolDir is the directory containing build tools. +-var ToolDir = filepath.Join(runtime.GOROOT(), "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH) ++var ToolDir = runtime.GOTOOLDIR() + + // IsLocalImport reports whether the import path is + // a local import path, like ".", "..", "./foo", or "../foo". +diff --git a/src/runtime/extern.go b/src/runtime/extern.go +index d346362..fb22b6e 100644 +--- a/src/runtime/extern.go ++++ b/src/runtime/extern.go +@@ -194,6 +194,17 @@ func GOROOT() string { + return defaultGoroot + } + ++// GOTOOLDIR returns the root of the Go tree. ++// It uses the GOTOOLDIR environment variable, if set, ++// or else the root used during the Go build. ++func GOTOOLDIR() string { ++ s := gogetenv("GOTOOLDIR") ++ if s != "" { ++ return s ++ } ++ return GOROOT() + "/pkg/tool/" + GOOS + "_" + GOARCH ++} ++ + // Version returns the Go tree's version string. + // It is either the commit hash and date at the time of the build or, + // when possible, a release tag like "go1.3". diff --git a/pkgs/development/compilers/oraclejdk/jdk8-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8-linux.nix index b92521a044aa..4fc3ea319277 100644 --- a/pkgs/development/compilers/oraclejdk/jdk8-linux.nix +++ b/pkgs/development/compilers/oraclejdk/jdk8-linux.nix @@ -1,9 +1,9 @@ import ./jdk-linux-base.nix { productVersion = "8"; - patchVersion = "51"; + patchVersion = "60"; downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html; - sha256_i686 = "0awzgs090n2cj6a5mlla0pgxk0y6aslhm6024pqrnxgai1fkmm1z"; - sha256_x86_64 = "1wggrcr2gjwkv5bawgcw86h6rhyzw0jphxm1sfwcvhjirh99056p"; + sha256_i686 = "e6a36b458351ed35bd7943739ba93d9a246e08a86433e148ff68b1b40d74c2e5"; + sha256_x86_64 = "ebe51554d2f6c617a4ae8fc9a8742276e65af01bd273e96848b262b3c05424e5"; jceName = "jce_policy-8.zip"; jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html; sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk"; diff --git a/pkgs/misc/cups/drivers/canon/default.nix b/pkgs/misc/cups/drivers/canon/default.nix new file mode 100644 index 000000000000..4c31e8d37d25 --- /dev/null +++ b/pkgs/misc/cups/drivers/canon/default.nix @@ -0,0 +1,220 @@ +{stdenv, fetchurl, unzip, autoreconfHook, libtool, makeWrapper, cups, ghostscript, callPackage_i686 }: + +let + + i686_NIX_GCC = callPackage_i686 ({gcc}: gcc) {}; + i686_libxml2 = callPackage_i686 ({libxml2}: libxml2) {}; + i686_glibc = callPackage_i686 ({glibc}: glibc) {}; + + src_canon = fetchurl { + url = "http://files.canon-europe.com/files/soft45378/software/o147jen_linuxufrII_0290.zip"; + sha256 = "1qpdmaaw42gm5fi21rp4lf05skffkq42ka5c8xkw8rckzb13sy9j"; + }; + +in + + +stdenv.mkDerivation rec { + name = "canon-cups-ufr2-2.90"; + src = src_canon; + + phases = [ "unpackPhase" "installPhase" ]; + + postUnpack = '' + (cd $sourceRoot; tar -xzf Sources/cndrvcups-common-2.90-1.tar.gz) + (cd $sourceRoot; tar -xzf Sources/cndrvcups-lb-2.90-1.tar.gz) + ''; + + nativeBuildInputs = [ makeWrapper unzip autoreconfHook libtool ]; + + buildInputs = [ cups ]; + + installPhase = '' + ## + ## cndrvcups-common buildPhase + ## + ( cd cndrvcups-common-2.90/buftool + autoreconf -fi + ./autogen.sh --prefix=$out --enable-progpath=$out/bin --libdir=$out/lib --disable-shared --enable-static + make + ) + + ( cd cndrvcups-common-2.90/backend + ./autogen.sh --prefix=$out --libdir=$out/lib + make + ) + + ( cd cndrvcups-common-2.90/c3plmod_ipc + make + ) + + ## + ## cndrvcups-common installPhase + ## + + ( cd cndrvcups-common-2.90/buftool + make install + ) + + ( cd cndrvcups-common-2.90/backend + make install + ) + + ( cd cndrvcups-common-2.90/c3plmod_ipc + make install DESTDIR=$out/lib + ) + + ( cd cndrvcups-common-2.90/libs + chmod 755 * + mkdir -p $out/lib32 + mkdir -p $out/bin + cp libcaiowrap.so.1.0.0 $out/lib32 + cp libcaiousb.so.1.0.0 $out/lib32 + cp libc3pl.so.0.0.1 $out/lib32 + cp libcaepcm.so.1.0 $out/lib32 + cp libColorGear.so.0.0.0 $out/lib32 + cp libColorGearC.so.0.0.0 $out/lib32 + cp libcanon_slim.so.1.0.0 $out/lib32 + cp c3pldrv $out/bin + ) + + (cd cndrvcups-common-2.90/data + chmod 644 *.ICC + mkdir -p $out/share/caepcm + cp *.ICC $out/share/caepcm + ) + + (cd $out/lib32 + ln -sf libc3pl.so.0.0.1 libc3pl.so.0 + ln -sf libc3pl.so.0.0.1 libc3pl.so + ln -sf libcaepcm.so.1.0 libcaepcm.so.1 + ln -sf libcaepcm.so.1.0 libcaepcm.so + ln -sf libcaiowrap.so.1.0.0 libcaiowrap.so.1 + ln -sf libcaiowrap.so.1.0.0 libcaiowrap.so + ln -sf libcaiousb.so.1.0.0 libcaiousb.so.1 + ln -sf libcaiousb.so.1.0.0 libcaiousb.so + ln -sf libcanon_slim.so.1.0.0 libcanon_slim.so.1 + ln -sf libcanon_slim.so.1.0.0 libcanon_slim.so + ln -sf libColorGear.so.0.0.0 libColorGear.so.0 + ln -sf libColorGear.so.0.0.0 libColorGear.so + ln -sf libColorGearC.so.0.0.0 libColorGearC.so.0 + ln -sf libColorGearC.so.0.0.0 libColorGearC.so + ) + + (cd $out/lib + ln -sf libcanonc3pl.so.1.0.0 libcanonc3pl.so + ln -sf libcanonc3pl.so.1.0.0 libcanonc3pl.so.1 + ) + + patchelf --set-rpath "$(cat ${i686_NIX_GCC}/nix-support/orig-cc)/lib" $out/lib32/libColorGear.so.0.0.0 + patchelf --set-rpath "$(cat ${i686_NIX_GCC}/nix-support/orig-cc)/lib" $out/lib32/libColorGearC.so.0.0.0 + + patchelf --interpreter "$(cat ${i686_NIX_GCC}/nix-support/dynamic-linker)" --set-rpath "$out/lib32" $out/bin/c3pldrv + + # c3pldrv is programmed with fixed paths that point to "/usr/{bin,lib.share}/..." + # preload32 wrappes all necessary function calls to redirect the fixed paths + # into $out. + mkdir -p $out/libexec + preload32=$out/libexec/libpreload32.so + ${i686_NIX_GCC}/bin/gcc -shared ${./preload.c} -o $preload32 -ldl -DOUT=\"$out\" -fPIC + wrapProgram "$out/bin/c3pldrv" \ + --set PRELOAD_DEBUG 1 \ + --set LD_PRELOAD $preload32 \ + --prefix LD_LIBRARY_PATH : "$out/lib32" + + + + ## + ## cndrvcups-lb buildPhase + ## + + ( cd cndrvcups-lb-2.90/ppd + ./autogen.sh --prefix=$out + make + ) + + ( cd cndrvcups-lb-2.90/pstoufr2cpca + CPPFLAGS="-I$out/include" LDFLAGS=" -L$out/lib" ./autogen.sh --prefix=$out --enable-progpath=$out/bin + make + ) + + ( cd cndrvcups-lb-2.90/cpca + CPPFLAGS="-I$out/include" LDFLAGS=" -L$out/lib" ./autogen.sh --prefix=$out --enable-progpath=$out/bin --enable-static + make + ) + + ## + ## cndrvcups-lb installPhase + ## + + ( cd cndrvcups-lb-2.90/ppd + make install + ) + + ( cd cndrvcups-lb-2.90/pstoufr2cpca + make install + ) + + ( cd cndrvcups-lb-2.90/cpca + make install + ) + + ( cd cndrvcups-lb-2.90/libs + chmod 755 * + mkdir -p $out/lib32 + mkdir -p $out/bin + cp libcanonufr2.la $out/lib32 + cp libcanonufr2.so.1.0.0 $out/lib32 + cp libufr2filter.so.1.0.0 $out/lib32 + cp libEnoJBIG.so.1.0.0 $out/lib32 + cp libEnoJPEG.so.1.0.0 $out/lib32 + cp libcaiocnpkbidi.so.1.0.0 $out/lib32 + cp libcnlbcm.so.1.0 $out/lib32 + + cp cnpkmoduleufr2 $out/bin #maybe needs setuid 4755 + cp cnpkbidi $out/bin + ) + + ( cd $out/lib32 + ln -sf libcanonufr2.so.1.0.0 libcanonufr2.so + ln -sf libcanonufr2.so.1.0.0 libcanonufr2.so.1 + ln -sf libufr2filter.so.1.0.0 libufr2filter.so + ln -sf libufr2filter.so.1.0.0 libufr2filter.so.1 + ln -sf libEnoJBIG.so.1.0.0 libEnoJBIG.so + ln -sf libEnoJBIG.so.1.0.0 libEnoJBIG.so.1 + ln -sf libEnoJPEG.so.1.0.0 libEnoJPEG.so + ln -sf libEnoJPEG.so.1.0.0 libEnoJPEG.so.1 + ln -sf libcaiocnpkbidi.so.1.0.0 libcaiocnpkbidi.so + ln -sf libcaiocnpkbidi.so.1.0.0 libcaiocnpkbidi.so.1 + ln -sf libcnlbcm.so.1.0 libcnlbcm.so.1 + ln -sf libcnlbcm.so.1.0 libcnlbcm.so + ) + + ( cd cndrvcups-lb-2.90 + chmod 644 data/CnLB* + chmod 644 libs/cnpkbidi_info* + chmod 644 libs/ThLB* + mkdir -p $out/share/caepcm + mkdir -p $out/share/cnpkbidi + mkdir -p $out/share/ufr2filter + cp data/CnLB* $out/share/caepcm + cp libs/cnpkbidi_info* $out/share/cnpkbidi + cp libs/ThLB* $out/share/ufr2filter + ) + + patchelf --set-rpath "$out/lib32:${i686_libxml2}/lib" $out/lib32/libcanonufr2.so.1.0.0 + + patchelf --interpreter "$(cat ${i686_NIX_GCC}/nix-support/dynamic-linker)" --set-rpath "$out/lib32" $out/bin/cnpkmoduleufr2 + patchelf --interpreter "$(cat ${i686_NIX_GCC}/nix-support/dynamic-linker)" --set-rpath "$out/lib32:${i686_libxml2}/lib" $out/bin/cnpkbidi + + makeWrapper "${ghostscript}/bin/gs" "$out/bin/gs" \ + --prefix LD_LIBRARY_PATH ":" "$out/lib" \ + --prefix PATH ":" "$out/bin" + ''; + + meta = { + description = "CUPS Linux drivers for Canon printers"; + homepage = "http://www.canon.com/"; + license = stdenv.lib.licenses.unfree; + }; +} diff --git a/pkgs/misc/cups/drivers/canon/preload.c b/pkgs/misc/cups/drivers/canon/preload.c new file mode 100644 index 000000000000..f3a30063a6e3 --- /dev/null +++ b/pkgs/misc/cups/drivers/canon/preload.c @@ -0,0 +1,81 @@ +/* + * LD_PRELOAD trick to make c3pldrv handle the absolute path to /usr/{bin,lib,share)}. + * As c3pldrv is a 32 bit executable, /lib will be rewritten to /lib32. + * + * Usage: + * gcc -shared -fPIC -DOUT="$out" preload.c -o preload.so -ldl + * LD_PRELOAD=$PWD/preload.so ./c3pldrv + */ + +#define _GNU_SOURCE +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> +#include <fcntl.h> +#include <dlfcn.h> +#include <limits.h> + +#ifndef OUT +#error Missing OUT define - path to the installation directory. +#endif + +typedef void *(*dlopen_func_t)(const char *filename, int flag); +typedef int (*open_func_t)(const char *pathname, int flags, ...); +typedef int (*execv_func_t)(const char *path, char *const argv[]); + + +void *dlopen(const char *filename, int flag) +{ + dlopen_func_t orig_dlopen; + const char *new_filename; + char buffer[PATH_MAX]; + + orig_dlopen = (dlopen_func_t)dlsym(RTLD_NEXT, "dlopen"); + + new_filename = filename; + if (strncmp("/usr/lib", filename, 8) == 0) { + snprintf(buffer, PATH_MAX, OUT "/lib32%s", filename+8); + buffer[PATH_MAX-1] = '\0'; + new_filename = buffer; + } + + return orig_dlopen(new_filename, flag); +} + +int open(const char *pathname, int flags, ...) +{ + open_func_t orig_open; + const char *new_pathname; + char buffer[PATH_MAX]; + + orig_open = (open_func_t)dlsym(RTLD_NEXT, "open"); + + new_pathname = pathname; + if (strncmp("/usr/share", pathname, 10) == 0) { + snprintf(buffer, PATH_MAX, OUT "%s", pathname+4); + buffer[PATH_MAX-1] = '\0'; + new_pathname = buffer; + } + + return orig_open(new_pathname, flags); +} + +int execv(const char *path, char *const argv[]) +{ + execv_func_t orig_execv; + const char *new_path; + char buffer[PATH_MAX]; + + orig_execv = (execv_func_t)dlsym(RTLD_NEXT, "execv"); + + new_path = path; + if (strncmp("/usr/bin", path, 8) == 0) { + snprintf(buffer, PATH_MAX, OUT "%s", path+4); + buffer[PATH_MAX-1] = '\0'; + new_path = buffer; + } + + return orig_execv(new_path, argv); +} + diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix index 19443e3e6eaf..fe7bec54ba02 100644 --- a/pkgs/stdenv/generic/default.nix +++ b/pkgs/stdenv/generic/default.nix @@ -131,6 +131,8 @@ let else true; in + assert licenseAllowed attrs; + lib.addPassthru (derivation ( (removeAttrs attrs ["meta" "passthru" "crossAttrs" "pos" @@ -150,7 +152,7 @@ let computedPropagatedImpureHostDeps = lib.unique (lib.concatMap (input: input.__propagatedImpureHostDeps or []) (propagatedBuildInputs ++ propagatedNativeBuildInputs)); in { - builder = assert licenseAllowed attrs; attrs.realBuilder or shell; + builder = attrs.realBuilder or shell; args = attrs.args or ["-e" (attrs.builder or ./default-builder.sh)]; stdenv = result; system = result.system; diff --git a/pkgs/tools/filesystems/s3fs/default.nix b/pkgs/tools/filesystems/s3fs/default.nix index 7e880ffeeb94..4c40d5e49835 100644 --- a/pkgs/tools/filesystems/s3fs/default.nix +++ b/pkgs/tools/filesystems/s3fs/default.nix @@ -1,14 +1,18 @@ {stdenv, fetchurl, autoconf, automake, pkgconfig, curl, openssl, libxml2, fuse}: stdenv.mkDerivation { - name = "s3fs-fuse-1.78"; + name = "s3fs-fuse-1.79"; src = fetchurl { - url = https://github.com/s3fs-fuse/s3fs-fuse/archive/v1.78.tar.gz; - sha256 = "1xcp0bqa4a2ynjn5phb1pj70wm322czhqp4qcb27d5jd545b1h1n"; + url = https://github.com/s3fs-fuse/s3fs-fuse/archive/v1.79.tar.gz; + sha256 = "0rmzkngzq040g020pv75qqx3jy34vdxzqvxz29k6q8yfb3wpkhb1"; }; preConfigure = "./autogen.sh"; buildInputs = [ autoconf automake pkgconfig curl openssl libxml2 fuse ]; - + + postInstall = '' + ln -s $out/bin/s3fs $out/bin/mount.s3fs + ''; + meta = with stdenv.lib; { description = "Mount an S3 bucket as filesystem through FUSE"; license = licenses.gpl2; diff --git a/pkgs/tools/networking/driftnet/default.nix b/pkgs/tools/networking/driftnet/default.nix new file mode 100644 index 000000000000..432411c1460d --- /dev/null +++ b/pkgs/tools/networking/driftnet/default.nix @@ -0,0 +1,26 @@ +{ stdenv, lib, fetchFromGitHub, autoconf, automake, libpcap, libjpeg, libungif, libpng, giflib, glib, gtk2, cairo, pango, gdk_pixbuf, atk, pkgconfig }: + +with lib; + +stdenv.mkDerivation rec { + name = "driftnet-${stdenv.lib.strings.substring 0 7 rev}"; + rev = "8d47fd563a06122d4a6f9b9b9d27ba3d635148c0"; + + buildInputs = [ autoconf automake pkgconfig libpcap libjpeg libungif libpng giflib glib gtk2 glib cairo pango gdk_pixbuf atk ]; + + preConfigure = "autoreconf -fi"; + + src = fetchFromGitHub { + inherit rev; + owner = "deiv"; + repo = "driftnet"; + sha256 = "1i9fqbsfrhvr36r17v3ydr1bqsszns8gyjbvlfqbdd4l5l5n6amg"; + }; + + meta = { + description = "Driftnet watches network traffic, and picks out and displays JPEG and GIF images for display."; + homepage = https://github.com/deiv/driftnet; + maintainers = with maintainers; [ offline ]; + platforms = with platforms; linux; + }; +} diff --git a/pkgs/tools/networking/netsniff-ng/default.nix b/pkgs/tools/networking/netsniff-ng/default.nix index ac9cfbf9bf2c..50f21abdb542 100644 --- a/pkgs/tools/networking/netsniff-ng/default.nix +++ b/pkgs/tools/networking/netsniff-ng/default.nix @@ -2,7 +2,7 @@ , libnetfilter_conntrack, libnl, libpcap, libsodium, liburcu, ncurses, perl , pkgconfig, zlib }: -let version = "0.5.9-80-g3384ee7"; in +let version = "0.5.9-85-g71c28ef"; in stdenv.mkDerivation { name = "netsniff-ng-${version}"; @@ -10,8 +10,8 @@ stdenv.mkDerivation { src = fetchFromGitHub rec { repo = "netsniff-ng"; owner = repo; - rev = "3384ee7119222a6230c983dbdcbaf2ac2d6f92fb"; - sha256 = "1j0g7sdf5ikr2bwd2qdwd1dpmknwaz55x3cgc8yiw39xp69hm7na"; + rev = "71c28eff00a8a8896c45fa20330b623d265ae5c7"; + sha256 = "1d0k7dydy57fn2qx5mwwx5wplbgm90y9chc5q15m8phsh0nm13qi"; }; buildInputs = [ bison flex geoip geolite-legacy libcli libnet libnl diff --git a/pkgs/tools/package-management/packagekit/default.nix b/pkgs/tools/package-management/packagekit/default.nix new file mode 100644 index 000000000000..1dcfd3095593 --- /dev/null +++ b/pkgs/tools/package-management/packagekit/default.nix @@ -0,0 +1,73 @@ +{ stdenv, fetchurl, intltool, glib, pkgconfig, polkit, python3, sqlite }: + +let version = "1.0.7"; in +stdenv.mkDerivation { + name = "packagekit-${version}"; + + src = fetchurl { + sha256 = "0klwr0y3a72xpz6bwv4afbk3vvx5r1av5idhz3mx4p9ssnscb1mi"; + url = "https://www.freedesktop.org/software/PackageKit/releases/PackageKit-${version}.tar.xz"; + }; + + buildInputs = [ glib polkit python3 ]; + propagatedBuildInputs = [ sqlite ]; + nativeBuildInputs = [ intltool pkgconfig ]; + + configureFlags = '' + --disable-static + --disable-python3 + --disable-networkmanager + --disable-connman + --disable-systemd + --disable-bash-completion + --disable-browser-plugin + --disable-gstreamer-plugin + --disable-gtk-module + --disable-command-not-found + --disable-cron + --disable-daemon-tests + --disable-alpm + --disable-aptcc + --enable-dummy + --disable-entropy + --disable-hif + --disable-pisi + --disable-poldek + --disable-portage + --disable-ports + --disable-katja + --disable-urmpi + --disable-yum + --disable-zypp + ''; + + enableParallelBuilding = true; + + preInstall = '' + # Don't install anything to e.g. $out/var/cache: + for dir in src data; do + substituteInPlace $dir/Makefile \ + --replace " install-data-hook" "" \ + --replace " install-databaseDATA" "" + done + ''; + + meta = with stdenv.lib; { + inherit version; + description = "System to facilitate installing and updating packages"; + longDescription = '' + PackageKit is a system designed to make installing and updating software + on your computer easier. The primary design goal is to unify all the + software graphical tools used in different distributions, and use some of + the latest technology like PolicyKit. The actual nuts-and-bolts distro + tool (dnf, apt, etc) is used by PackageKit using compiled and scripted + helpers. PackageKit isn't meant to replace these tools, instead providing + a common set of abstractions that can be used by standard GUI and text + mode package managers. + ''; + homepage = http://www.packagekit.org/; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ nckx ]; + }; +} diff --git a/pkgs/tools/system/stress-ng/default.nix b/pkgs/tools/system/stress-ng/default.nix index 7f02eaa2d519..0f62fc4e360a 100644 --- a/pkgs/tools/system/stress-ng/default.nix +++ b/pkgs/tools/system/stress-ng/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, attr, keyutils }: -let version = "0.04.14"; in +let version = "0.04.15"; in stdenv.mkDerivation rec { name = "stress-ng-${version}"; src = fetchurl { - sha256 = "17lgsxg2k7w12i1wmzq4zqavkicikzkgz2h7mzl8lrk8c85mwf3m"; + sha256 = "1jazcfviqx3pyhv2jzsp6y37ndsj1smfk6jacpxg9vrg5k3cm3wq"; url = "http://kernel.ubuntu.com/~cking/tarballs/stress-ng/${name}.tar.gz"; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e5e2f43dbf20..4f4987c9ccb9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1346,6 +1346,8 @@ let drive = callPackage ../applications/networking/drive { }; + driftnet = callPackage ../tools/networking/driftnet {}; + dropbear = callPackage ../tools/networking/dropbear { }; dtach = callPackage ../tools/misc/dtach { }; @@ -2560,6 +2562,8 @@ let p7zip = callPackage ../tools/archivers/p7zip { }; + packagekit = callPackage ../tools/package-management/packagekit { }; + pal = callPackage ../tools/misc/pal { }; pandoc = haskell.lib.overrideCabal haskellPackages.pandoc (drv: { @@ -4050,7 +4054,11 @@ let inherit (darwin.apple_sdk.frameworks) Security; }; - go = go_1_4; + go_1_5 = callPackage ../development/compilers/go/1.5.nix { + inherit (darwin.apple_sdk.frameworks) Security; + }; + + go = go_1_5; go-repo-root = callPackage ../development/tools/misc/go-repo-root { }; @@ -8633,7 +8641,17 @@ let overrides = (config.goPackageOverrides or (p: {})) pkgs; }); - goPackages = go14Packages; + go15Packages = recurseIntoAttrs (callPackage ./go-packages.nix { + go = go_1_5; + buildGoPackage = import ../development/go-modules/generic { + go = go_1_5; + govers = go15Packages.govers; + inherit lib; + }; + overrides = (config.goPackageOverrides or (p: {})) pkgs; + }); + + goPackages = go15Packages; ### DEVELOPMENT / LISP MODULES @@ -11042,9 +11060,7 @@ let dmtx-utils = callPackage (import ../tools/graphics/dmtx-utils) { }; - docker = callPackage ../applications/virtualization/docker { - go = go_1_4; - }; + docker = callPackage ../applications/virtualization/docker { }; doodle = callPackage ../applications/search/doodle { }; @@ -12449,7 +12465,7 @@ let inherit (xorg) libXpm; }; - pond = callPackage ../applications/networking/pond { goPackages = go14Packages; }; + pond = callPackage ../applications/networking/pond { }; ponymix = callPackage ../applications/audio/ponymix { }; @@ -14943,6 +14959,8 @@ let sails = callPackage ../misc/sails { }; + canon-cups-ufr2 = callPackage ../misc/cups/drivers/canon { }; + samsungUnifiedLinuxDriver = import ../misc/cups/drivers/samsung { inherit fetchurl stdenv; inherit cups ghostscript glibc patchelf; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e28cb22a2181..f989d05fe746 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2994,11 +2994,11 @@ let }; docker = buildPythonPackage rec { - name = "docker-py-1.1.0"; + name = "docker-py-1.3.1"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/d/docker-py/${name}.tar.gz"; - md5 = "b44f34530a21ed1129887f9a8b01ecec"; + md5 = "07a5f41fd3f8cc72d05deed628700e99"; }; propagatedBuildInputs = with self; [ six requests websocket_client ]; @@ -3014,13 +3014,15 @@ let }; dockerpty = buildPythonPackage rec { - name = "dockerpty-0.3.2"; + name = "dockerpty-0.3.4"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/d/dockerpty/${name}.tar.gz"; - md5 = "1f97b24d2f4b2c345f176f91655002dd"; + md5 = "92fb66d28aa19bf5268e7e3935670e5d"; }; + propagatedBuildInputs = with self; [ six ]; + meta = { description = "Functionality needed to operate the pseudo-tty (PTY) allocated to a docker container"; homepage = https://github.com/d11wtq/dockerpty; @@ -5663,32 +5665,22 @@ let }; docker_compose = buildPythonPackage rec { - name = "docker-compose-1.2.0rc2"; + version = "1.4.0"; + name = "docker-compose-${version}"; + namePrefix = ""; disabled = isPy3k || isPyPy; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/d/docker-compose/${name}.tar.gz"; - md5 = "311ec5023e51097ca3acbf37fac062bd"; + md5 = "a93e801ebe829c2f869cb23d0b606272"; }; propagatedBuildInputs = with self; [ - six requests pyyaml texttable docopt docker + six requests pyyaml texttable docopt docker dockerpty websocket_client (requests2.override { src = pkgs.fetchurl { - url = "https://pypi.python.org/packages/source/r/requests/requests-2.5.3.tar.gz"; - md5 = "23bf4fcc89ea8d353eb5353bb4a475b1"; - }; - }) - (dockerpty.override { - src = pkgs.fetchurl { - url = "https://pypi.python.org/packages/source/d/dockerpty/dockerpty-0.3.2.tar.gz"; - md5 = "1f97b24d2f4b2c345f176f91655002dd"; - }; - }) - (websocket_client.override { - src = pkgs.fetchurl { - url = "https://pypi.python.org/packages/source/w/websocket-client/websocket-client-0.11.0.tar.gz"; - md5 = "fcffbb5ac10941d9ace416d14d1e3ec8"; + url = "https://pypi.python.org/packages/source/r/requests/requests-2.6.1.tar.gz"; + md5 = "da6e487f89e6a531699b7fd97ff182af"; }; }) ]; @@ -15691,11 +15683,11 @@ let websocket_client = buildPythonPackage rec { - name = "websocket-client-0.17.0"; + name = "websocket_client-0.32.0"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/w/websocket-client/${name}.tar.gz"; - md5 = "c86591719085eaf4a01c2275e0c834fc"; + md5 = "b07a897511a3c585251fe2ea85a9d9d9"; }; propagatedBuildInputs = with self; [ six backports_ssl_match_hostname_3_4_0_2 unittest2 argparse ]; |