diff options
author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2019-08-29 10:01:11 +0900 |
---|---|---|
committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2019-09-05 09:38:22 +0900 |
commit | 92086eeda39cf14ff1241b2e610154fad98965cd (patch) | |
tree | a2f28bdcbb820614a8421281b15458c56c37bd7a | |
parent | 9bf589867b57954e1245b2d1c937f1ae386a78ce (diff) | |
download | guix-92086eeda39cf14ff1241b2e610154fad98965cd.tar.gz |
gnu: Add tini.
* gnu/packages/docker.scm (tini): New variable.
-rw-r--r-- | gnu/packages/docker.scm | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm index 94cfa2bdb7..8f80cd54d8 100644 --- a/gnu/packages/docker.scm +++ b/gnu/packages/docker.scm @@ -25,6 +25,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system go) #:use-module (guix build-system python) @@ -655,3 +656,36 @@ provisioning etc.") way to run commands in the current directory, but within a Docker container defined in a per-project configuration file.") (license license:gpl3+))) + +(define-public tini + (package + (name "tini") + (version "0.18.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/krallin/tini.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1h20i3wwlbd8x4jr2gz68hgklh0lb0jj7y5xk1wvr8y58fip1rdn")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ;tests require a Docker daemon + #:phases (modify-phases %standard-phases + (add-after 'unpack 'disable-static-build + ;; Disable the static build as it fails to install, with + ;; the error: "No valid ELF RPATH or RUNPATH entry exists + ;; in the file". + (lambda _ + (substitute* "CMakeLists.txt" + ((".*tini-static.*") "")) + #t))))) + (home-page "https://github.com/krallin/tini") + (synopsis "Tiny but valid init for containers") + (description "Tini is an init program specifically designed for use with +containers. It manages a single child process and ensures that any zombie +processes produced from it are reaped and that signals are properly forwarded. +Tini is integrated with Docker.") + (license license:expat))) |