;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-web)
+ #:use-module (gnu packages python-xyz)
#:use-module (gnu packages version-control)
#:use-module (gnu packages virtualization))
-(define %docker-version "18.09.0")
+(define %docker-version "18.09.3")
(define-public python-docker-py
(package
(define-public containerd
(package
(name "containerd")
- (version "1.2.1")
+ (version "1.2.5")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "16zn6p1ky3yrgn53z8h9wza53ch91fj47wj5xgz6w4c57j30f66p"))))
+ (base32 "0npbzixf3c0jvzm159vygvkydrr8h36c9sq50yv0mdinrys2bvg0"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/containerd/containerd"
(home-page "http://containerd.io/")
(license license:asl2.0)))
+;; TODO: Patch out modprobes for ip_vs, nf_conntrack,
+;; brige, nf_conntrack_netlink, aufs.
(define-public docker
(package
(name "docker")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "1liqbx58grqih6m8hz9y20y5waflv19pv15l3wl64skap2bsn21c"))
+ (base32 "06yr5xwr181lalh8z1lk07nxlp7hn38aq8cyqjk617dfy4lz0ixx"))
(patches
(search-patches "docker-engine-test-noinstall.patch"
- "docker-fix-tests.patch"))))
+ "docker-fix-tests.patch"
+ "docker-use-fewer-modprobes.patch"))))
(build-system gnu-build-system)
(arguments
`(#:modules
((guix build gnu-build-system)
((guix build go-build-system) #:prefix go:)
+ (guix build union)
(guix build utils))
#:imported-modules
(,@%gnu-build-system-modules
+ (guix build union)
(guix build go-build-system))
#:phases
(modify-phases %standard-phases
(substitute-LookPath "blkid" "util-linux" "/sbin/blkid")
(substitute-LookPath "unpigz" "pigz" "/bin/unpigz")
(substitute-LookPath "iptables" "iptables" "/sbin/iptables")
+ (substitute-LookPath "iptables-legacy" "iptables" "/sbin/iptables")
(substitute-LookPath "ip" "iproute2" "/sbin/ip")
(substitute-Command "modprobe" "kmod" "/bin/modprobe")
(substitute-Command "pvcreate" "lvm2" "/sbin/pvcreate")
;; Timeouts after 5 min.
(delete-file "plugin/manager_linux_test.go")
;; Operation not permitted.
+ (delete-file "daemon/graphdriver/btrfs/btrfs_test.go")
(delete-file "daemon/graphdriver/overlay/overlay_test.go")
(delete-file "daemon/graphdriver/overlay2/overlay_test.go")
#t))
;; Make build faster
(setenv "GOCACHE" "/tmp")
#t))
- (add-before 'build 'setup-environment
- (assoc-ref go:%standard-phases 'setup-environment))
+ (add-before 'build 'setup-go-environment
+ (assoc-ref go:%standard-phases 'setup-go-environment))
(replace 'build
(lambda _
;; Our LD doesn't like the statically linked relocatable things
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "1ivisys20kphvbqlazc3bsg7pk0ykj9gjx5d4yg439x4n13jxwvb"))))
+ (base32 "09j1i668p330gjz5vw5pss8ghxh1mz7rl2q9ykp02q9p112zhy4j"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/docker/cli"
("pkg-config" ,pkg-config)))
(synopsis "Command line interface to Docker")
(description "This package provides a command line interface to Docker.")
- (home-page "http://www.docker.com/")
+ (home-page "https://www.docker.com/")
(license license:asl2.0)))
+
+(define-public cqfd
+ (package
+ (name "cqfd")
+ (version "5.0.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/savoirfairelinux/cqfd.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1z4v16lbpbwd5ykawizdclpryp2k006lbk2mv427a4b3nvcd9wik"))))
+ (build-system gnu-build-system)
+ (arguments
+ ;; The test suite requires a docker daemon and connectivity.
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ ;; Fix the directory of the bash completion.
+ (substitute* "Makefile"
+ (("completionsdir=.*$")
+ (string-append "completionsdir=" out
+ "/etc/bash_completion.d; \\\n")))
+ (invoke "make" "install"
+ (string-append "PREFIX=" out))))))))
+ (home-page "https://github.com/savoirfairelinux/cqfd")
+ (synopsis "Convenience wrapper for Docker")
+ (description "cqfd is a Bash script that provides a quick and convenient
+way to run commands in the ecurrent directory, but within a Docker container
+defined in a per-project configuration file.")
+ (license license:gpl3+)))