nixpkgs/pkgs/os-specific/linux/lxc/default.nix

72 lines
2.1 KiB
Nix
Raw Normal View History

2015-03-27 00:54:25 +00:00
{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, perl, docbook2x
2015-05-17 10:50:01 +00:00
, docbook_xml_dtd_45, systemd, wrapPython
2015-03-27 00:54:25 +00:00
, libapparmor ? null, gnutls ? null, libseccomp ? null, cgmanager ? null
2015-05-17 10:50:01 +00:00
, libnih ? null, dbus ? null, libcap ? null, python3 ? null
}:
2015-03-27 00:54:25 +00:00
let
enableCgmanager = cgmanager != null && libnih != null && dbus != null;
in
with stdenv.lib;
stdenv.mkDerivation rec {
2015-05-20 06:51:36 +00:00
name = "lxc-1.1.2";
2015-03-27 00:54:25 +00:00
src = fetchFromGitHub {
owner = "lxc";
repo = "lxc";
rev = name;
2015-05-20 06:51:36 +00:00
sha256 = "149nq630h9bg87hb3cn086ci0cz29l7fp3i6qf1mqxv7hnildm8p";
};
2015-03-27 00:54:25 +00:00
buildInputs = [
autoreconfHook pkgconfig perl docbook2x systemd
2015-05-17 10:50:01 +00:00
libapparmor gnutls libseccomp cgmanager libnih dbus libcap python3
wrapPython
2015-03-27 00:54:25 +00:00
];
2015-03-27 00:54:25 +00:00
patches = [ ./support-db2x.patch ];
2015-03-27 00:54:25 +00:00
XML_CATALOG_FILES = "${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml";
2013-04-15 09:15:55 +00:00
configureFlags = [
"--localstatedir=/var"
2015-03-27 00:54:25 +00:00
"--sysconfdir=/etc"
"--with-rootfs-path=/var/lib/lxc/rootfs"
2015-03-27 00:54:25 +00:00
] ++ optional (libapparmor != null) "--enable-apparmor"
++ optional (gnutls != null) "--enable-gnutls"
++ optional (libseccomp != null) "--enable-seccomp"
++ optional (enableCgmanager) "--enable-cgmanager"
++ optional (libcap != null) "--enable-capabilities"
++ [
2013-04-15 09:15:55 +00:00
"--enable-doc"
"--enable-tests"
];
2015-05-20 06:48:55 +00:00
installFlags = [
"localstatedir=\${TMPDIR}"
"sysconfdir=\${out}/etc"
"sysconfigdir=\${out}/etc/default"
"READMEdir=\${TMPDIR}/var/lib/lxc/rootfs"
"LXCPATH=\${TMPDIR}/var/lib/lxc"
];
2015-03-27 00:54:25 +00:00
2015-05-17 10:50:01 +00:00
postInstall = "wrapPythonPrograms";
meta = {
homepage = "http://lxc.sourceforge.net";
2013-04-15 09:15:55 +00:00
description = "userspace tools for Linux Containers, a lightweight virtualization system";
2015-03-27 00:54:25 +00:00
license = licenses.lgpl21Plus;
longDescription = ''
LXC is the userspace control package for Linux Containers, a
lightweight virtual system mechanism sometimes described as
"chroot on steroids". LXC builds up from chroot to implement
complete virtual systems, adding resource management and isolation
mechanisms to Linuxs existing process management infrastructure.
'';
2015-03-27 00:54:25 +00:00
platforms = platforms.linux;
2015-05-17 10:50:01 +00:00
maintainers = with maintainers; [ simons wkennington globin ];
};
}