nixpkgs/pkgs/os-specific/linux/lxc/default.nix
Franz Pletz e43f2fc868
Revert "lxc: 2.0.4 -> 2.0.6"
This reverts commit 5d804566df.

This was an error on my part. I had the commit sitting on my local master
and pulled upstream to rebase my commit before pushing. I didn't notice
there was a commit bumping lxc and the auto-merge on the rebase.
2016-11-29 15:42:37 +01:00

87 lines
2.6 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{ stdenv, fetchurl, fetchpatch, autoreconfHook, pkgconfig, perl, docbook2x
, docbook_xml_dtd_45, python3Packages
# Optional Dependencies
, libapparmor ? null, gnutls ? null, libselinux ? null, libseccomp ? null
, cgmanager ? null, libnih ? null, dbus ? null, libcap ? null, systemd ? null
}:
let
enableCgmanager = cgmanager != null && libnih != null && dbus != null;
in
with stdenv.lib;
stdenv.mkDerivation rec {
name = "lxc-${version}";
version = "2.0.6";
src = fetchurl {
url = "https://linuxcontainers.org/downloads/lxc/lxc-${version}.tar.gz";
sha256 = "0ynddnfirh9pmy7ijg300jrgzdhjzm07fsmvdw71mb2x0p82qabw";
};
nativeBuildInputs = [
autoreconfHook pkgconfig perl docbook2x python3Packages.wrapPython
];
buildInputs = [
libapparmor gnutls libselinux libseccomp cgmanager libnih dbus libcap
python3Packages.python systemd
];
patches = [
./support-db2x.patch
];
XML_CATALOG_FILES = "${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml";
configureFlags = [
"--localstatedir=/var"
"--sysconfdir=/etc"
"--disable-api-docs"
"--with-init-script=none"
"--with-distro=nixos" # just to be sure it is "unknown"
] ++ optional (libapparmor != null) "--enable-apparmor"
++ optional (libselinux != null) "--enable-selinux"
++ optional (libseccomp != null) "--enable-seccomp"
++ optional (libcap != null) "--enable-capabilities"
++ [
"--disable-examples"
"--enable-python"
"--disable-lua"
"--enable-bash"
(if doCheck then "--enable-tests" else "--disable-tests")
"--with-rootfs-path=/var/lib/lxc/rootfs"
];
doCheck = false;
installFlags = [
"localstatedir=\${TMPDIR}"
"sysconfdir=\${out}/etc"
"sysconfigdir=\${out}/etc/default"
"bashcompdir=\${out}/share/bash-completion/completions"
"READMEdir=\${TMPDIR}/var/lib/lxc/rootfs"
"LXCPATH=\${TMPDIR}/var/lib/lxc"
];
postInstall = ''
wrapPythonPrograms
'';
meta = {
homepage = "http://lxc.sourceforge.net";
description = "Userspace tools for Linux Containers, a lightweight virtualization system";
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.
'';
platforms = platforms.linux;
maintainers = with maintainers; [ wkennington globin fpletz ];
};
}