From 07d43c66d5c11fef61f9846fefb97fa18e4764f1 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 12 Sep 2023 23:28:40 +0200 Subject: [PATCH] gnu: Add swineherd. * gnu/packages/admin.scm (swineherd): New variable. --- gnu/packages/admin.scm | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 5d586e6f36..2492890ee5 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2015 Eric Dvorsak ;;; Copyright © 2016, 2017, 2020 Leo Famulari ;;; Copyright © 2016 Pjotr Prins -;;; Copyright © 2016, 2017 Ricardo Wurmus +;;; Copyright © 2016, 2017, 2023 Ricardo Wurmus ;;; Copyright © 2016-2023 Efraim Flashner ;;; Copyright © 2016 Peter Feigl ;;; Copyright © 2016 John J. Foerch @@ -153,6 +153,7 @@ (define-module (gnu packages admin) #:use-module (gnu packages ncurses) #:use-module (gnu packages networking) #:use-module (gnu packages openldap) + #:use-module (gnu packages package-management) #:use-module (gnu packages patchutils) #:use-module (gnu packages pciutils) #:use-module (gnu packages pcre) @@ -407,6 +408,43 @@ (define-public guile2.2-shepherd (native-inputs (list pkg-config guile-2.2)) (inputs (list guile-2.2 guile2.2-fibers)))) +(define-public swineherd + (package + (name "swineherd") + (version "0.0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/BIMSBbioinfo/swineherd") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "18nk0sy5s0dm2rhxnrrn8g0m098b110mxnnxa2vnl1dnvfdzszw8")))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--localstatedir=/var") + #:make-flags '("GUILE_AUTO_COMPILE=0"))) + (native-inputs + (list autoconf automake guile-3.0 pkg-config texinfo)) + (inputs + (list btrfs-progs + guile-config + guile-fibers-1.3 + guile-netlink + guile-3.0 + guix + shepherd-0.10)) + (home-page "https://github.com/BIMSBbioinfo/swineherd") + (synopsis "System container manager") + (description + "This project aims to provide an extension to the Shepherd, retraining it +as a swineherd, a manager of crude system containers. It does this by +providing a Shepherd service @code{swineherd} that talks to the Shepherd +process to create Guix System containers as Shepherd services. It also comes +with an optional HTTP API server.") + (license license:gpl3+))) + (define-public cfm (package (name "cfm")