guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#52174] [PATCH v3 1/6] gnu: add crun


From: Timmy Douglas
Subject: [bug#52174] [PATCH v3 1/6] gnu: add crun
Date: Tue, 21 Dec 2021 23:33:46 -0800

* gnu/packages/containers.scm (crun): New variable.
* gnu/local.mk: add containers.scm
---
 gnu/local.mk                |   1 +
 gnu/packages/containers.scm | 103 ++++++++++++++++++++++++++++++++++++
 2 files changed, 104 insertions(+)
 create mode 100644 gnu/packages/containers.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 33e108c752..8ffcf662ce 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -157,6 +157,7 @@ GNU_SYSTEM_MODULES =                                \
   %D%/packages/configuration-management.scm    \
   %D%/packages/conky.scm                       \
   %D%/packages/connman.scm                     \
+  %D%/packages/containers.scm                  \
   %D%/packages/convmv.scm                      \
   %D%/packages/cook.scm                                \
   %D%/packages/coq.scm                         \
diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
new file mode 100644
index 0000000000..4228a27a91
--- /dev/null
+++ b/gnu/packages/containers.scm
@@ -0,0 +1,103 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2021 Timmy Douglas <mail@timmydouglas.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages containers)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (gnu packages)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix build-system go)
+  #:use-module (guix build-system meson)
+  #:use-module (guix utils)
+  #:use-module (gnu packages admin)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages bash)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages golang)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages networking)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages selinux)
+  #:use-module (gnu packages version-control)
+  #:use-module (gnu packages virtualization)
+  #:use-module (gnu packages web))
+
+(define-public crun
+  (let ((commit "8e5757a4e68590326dafe8a8b1b4a584b10a1370"))
+    (package
+      (name "crun")
+      (version "1.3")
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/containers/crun";)
+               (commit commit)
+               (recursive? #t)))
+         (sha256
+          (base32 "01yiss2d57kwlxb7zlqzjwlg9fyaf19yjngd1mw9n4hxls3dfj3k"))
+         (file-name (git-file-name name version))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:configure-flags '("--disable-systemd")
+         #:tests? #f ; XXX: needs /sys/fs/cgroup mounted
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'do-not-depend-on-git
+             (lambda _
+               (substitute* "autogen.sh"
+                 (("^git submodule update.*")
+                  ""))
+               (with-output-to-file "git-version.h"
+                 (lambda ()
+                   (display (string-append
+                             "/* autogenerated.  */\n#ifndef GIT_VERSION\n# 
define GIT_VERSION \""
+                             ,commit
+                             "\"\n#endif\n"))))))
+           (add-after 'unpack 'fix-tests
+             (lambda _
+               (substitute* (find-files "tests" "\\.(c|py)")
+                 (("/bin/true") (which "true"))
+                 (("/bin/false") (which "false"))
+                 ; relies on sd_notify which requires systemd?
+                 (("\"sd-notify\" : test_sd_notify,") "")
+                 (("\"sd-notify-file\" : test_sd_notify_file,") "")))))))
+      (inputs
+       (list libcap
+             libseccomp
+             libyajl))
+      (native-inputs
+       (list automake
+             autoconf
+             git
+             libtool
+             pkg-config
+             python-3))
+      (home-page "https://github.com/containers/crun";)
+      (synopsis "Open Container Initiative (OCI) Container runtime")
+      (description
+       "crun is a fast and low-memory footprint Open Container Initiative (OCI)
+Container Runtime fully written in C.")
+      (license license:gpl2+))))
-- 
2.34.0






reply via email to

[Prev in Thread] Current Thread [Next in Thread]