From 5d4a8f9b9e5a6fb18a3119671b11634111a4d891 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Thu, 13 Jul 2017 19:30:02 +0800 Subject: gnu: Add lxc. * gnu/packages/virtualization.scm (lxc): New package. --- gnu/packages/virtualization.scm | 47 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 79209c3006..fd5cea5eb2 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -42,6 +42,7 @@ (define-module (gnu packages virtualization) #:use-module (gnu packages pkg-config) #:use-module (gnu packages polkit) #:use-module (gnu packages python) + #:use-module (gnu packages selinux) #:use-module (gnu packages sdl) #:use-module (gnu packages spice) #:use-module (gnu packages texinfo) @@ -266,6 +267,52 @@ (define-public libosinfo ;; files in the "tools" directory are released under GPLv2+. (license (list lgpl2.1+ gpl2+)))) +(define-public lxc + (package + (name "lxc") + (version "2.0.8") + (source (origin + (method url-fetch) + (uri (string-append + "https://linuxcontainers.org/downloads/lxc/lxc-" + version ".tar.gz")) + (sha256 + (base32 + "15449r56rqg3487kzsnfvz0w4p5ajrq0krcsdh6c9r6g0ark93hd")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("gnutls" ,gnutls) + ("libcap" ,libcap) + ("libseccomp" ,libseccomp) + ("libselinux" ,libselinux))) + (arguments + '(#:configure-flags + '("--sysconfdir=/etc" + "--localstatedir=/var") + #:phases + (modify-phases %standard-phases + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bashcompdir (string-append out "/etc/bash_completion.d"))) + (zero? (system* + "make" "install" + (string-append "bashcompdir=" bashcompdir) + ;; Don't install files into /var and /etc. + "LXCPATH=/tmp/var/lib/lxc" + "localstatedir=/tmp/var" + "sysconfdir=/tmp/etc" + "sysconfigdir=/tmp/etc/default")))))))) + (synopsis "Linux container tools") + (home-page "https://linuxcontainers.org/") + (description + "LXC is a userspace interface for the Linux kernel containment features. +Through a powerful API and simple tools, it lets Linux users easily create and +manage system or application containers.") + (license lgpl2.1+))) + (define-public libvirt (package (name "libvirt") -- cgit v1.2.3