From patchwork Wed Dec 22 07:33:46 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Timmy Douglas X-Patchwork-Id: 35579 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 2F55227BBEA; Wed, 22 Dec 2021 07:51:16 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 34BC527BBE9 for ; Wed, 22 Dec 2021 07:51:12 +0000 (GMT) Received: from localhost ([::1]:54050 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mzwP1-0007Fj-9U for patchwork@mira.cbaines.net; Wed, 22 Dec 2021 02:51:11 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36714) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mzw9O-0004aV-Eg for guix-patches@gnu.org; Wed, 22 Dec 2021 02:35:05 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:44984) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mzw9O-00006J-2Z for guix-patches@gnu.org; Wed, 22 Dec 2021 02:35:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mzw9N-0002qr-Vt for guix-patches@gnu.org; Wed, 22 Dec 2021 02:35:01 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#52174] [PATCH v3 1/6] gnu: add crun Resent-From: Timmy Douglas Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 22 Dec 2021 07:35:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 52174 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 52174@debbugs.gnu.org Cc: ludo@gnu.org, mail@timmydouglas.com Received: via spool by 52174-submit@debbugs.gnu.org id=B52174.164015846510879 (code B ref 52174); Wed, 22 Dec 2021 07:35:01 +0000 Received: (at 52174) by debbugs.gnu.org; 22 Dec 2021 07:34:25 +0000 Received: from localhost ([127.0.0.1]:56521 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mzw8l-0002pK-NI for submit@debbugs.gnu.org; Wed, 22 Dec 2021 02:34:25 -0500 Received: from out1.migadu.com ([91.121.223.63]:26672) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mzw8g-0002p6-Ts for 52174@debbugs.gnu.org; Wed, 22 Dec 2021 02:34:22 -0500 X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=timmydouglas.com; s=key1; t=1640158457; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=zmM/9+amNRQp3nvQJ9mKMd5nkRO+XYkxMmMs3Z6Es30=; b=M3BAx4B5iEduKh/am2hkrpJ7LzyOBDkSFQ6mrAvPYdZboOnbkU4YxGcF4Qlw9sCfl/rgK0 Qp4g7UGDDOdO5WVpeEQnwUldQu37Ig99QU5BWS6kKB5gVNMiVBR+KcV0/Fahas4jjrYeak SbCGsKp9b5/FFNdKNzzPKeKRjhFl1jA= Date: Tue, 21 Dec 2021 23:33:46 -0800 Message-Id: <6e4392911497417cb77932dcd6812eac4587e0a9.1640158278.git.mail@timmydouglas.com> In-Reply-To: <87sfunjtfi.fsf@gnu.org> References: <87sfunjtfi.fsf@gnu.org> MIME-Version: 1.0 X-Migadu-Flow: FLOW_OUT X-Migadu-Auth-User: timmydouglas.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" Reply-to: Timmy Douglas X-ACL-Warn: , Timmy Douglas via Guix-patches X-Patchwork-Original-From: Timmy Douglas via Guix-patches via From: Timmy Douglas X-getmail-retrieved-from-mailbox: Patches * 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 +;;; +;;; 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 . + +(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+))))