33fdfac2fa
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/lxc/versions. These checks were done: - built on NixOS - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-attach -h’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-attach --help’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-attach --version’ and found version 3.0.0 - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-autostart -h’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-autostart --help’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-autostart --version’ and found version 3.0.0 - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-cgroup -h’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-cgroup --help’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-cgroup --version’ and found version 3.0.0 - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-checkpoint -h’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-checkpoint --help’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-checkpoint --version’ and found version 3.0.0 - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-copy -h’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-copy --help’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-copy --version’ and found version 3.0.0 - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-config -h’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-config --help’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-console -h’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-console --help’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-console --version’ and found version 3.0.0 - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-create -h’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-create --help’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-create --version’ and found version 3.0.0 - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-destroy -h’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-destroy --help’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-destroy --version’ and found version 3.0.0 - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-execute -h’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-execute --help’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-execute --version’ and found version 3.0.0 - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-freeze -h’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-freeze --help’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-freeze --version’ and found version 3.0.0 - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-info -h’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-info --help’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-info --version’ and found version 3.0.0 - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-ls -h’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-ls --help’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-ls help’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-ls --version’ and found version 3.0.0 - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-monitor -h’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-monitor --help’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-monitor --version’ and found version 3.0.0 - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-snapshot -h’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-snapshot --help’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-snapshot --version’ and found version 3.0.0 - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-start -h’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-start --help’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-start --version’ and found version 3.0.0 - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-stop -h’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-stop --help’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-stop --version’ and found version 3.0.0 - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-top -h’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-top --help’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-top --version’ and found version 3.0.0 - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-unfreeze -h’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-unfreeze --help’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-unfreeze --version’ and found version 3.0.0 - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-unshare -h’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-unshare --help’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-unshare help’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-usernsexec -h’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-wait -h’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-wait --help’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-wait --version’ and found version 3.0.0 - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-checkconfig -h’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-checkconfig --help’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-checkconfig help’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-update-config -h’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/lxc-update-config --help’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/init.lxc -h’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/init.lxc --help’ got 0 exit code - ran ‘/nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0/bin/init.lxc --version’ and found version 3.0.0 - found 3.0.0 with grep in /nix/store/mvaxvwlslyaiksjrwcm2rmmnnf8z02w3-lxc-3.0.0 - directory tree listing: https://gist.github.com/a0534e4d403fd56527c3c04558911af3
99 lines
3.1 KiB
Nix
99 lines
3.1 KiB
Nix
{ 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 = "3.0.0";
|
||
|
||
src = fetchurl {
|
||
url = "https://linuxcontainers.org/downloads/lxc/lxc-${version}.tar.gz";
|
||
sha256 = "12ldpkd17cy6fg7z1icr91cfs86jkkrsj61b6wdj0l7h4x624c32";
|
||
};
|
||
|
||
nativeBuildInputs = [
|
||
autoreconfHook pkgconfig perl docbook2x python3Packages.wrapPython
|
||
];
|
||
buildInputs = [
|
||
libapparmor gnutls libselinux libseccomp cgmanager libnih dbus libcap
|
||
python3Packages.python python3Packages.setuptools systemd
|
||
];
|
||
|
||
patches = [
|
||
./support-db2x.patch
|
||
];
|
||
|
||
postPatch = ''
|
||
sed -i '/chmod u+s/d' src/lxc/Makefile.am
|
||
'';
|
||
|
||
XML_CATALOG_FILES = "${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml";
|
||
|
||
# FIXME
|
||
# glibc 2.25 moved major()/minor() to <sys/sysmacros.h>.
|
||
# this commit should detect this: https://github.com/lxc/lxc/pull/1388/commits/af6824fce9c9536fbcabef8d5547f6c486f55fdf
|
||
# However autotools checks if mkdev is still defined in <sys/types.h> runs before
|
||
# checking if major()/minor() is defined there. The mkdev check succeeds with
|
||
# a warning and the check which should set MAJOR_IN_SYSMACROS is skipped.
|
||
NIX_CFLAGS_COMPILE = [ "-DMAJOR_IN_SYSMACROS" ];
|
||
|
||
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 = https://linuxcontainers.org/;
|
||
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 Linux’s existing process management infrastructure.
|
||
'';
|
||
|
||
platforms = platforms.linux;
|
||
maintainers = with maintainers; [ wkennington globin fpletz ];
|
||
};
|
||
}
|