diff options
author | Mx Kookie <kookie@spacekookie.de> | 2020-10-31 19:35:09 +0100 |
---|---|---|
committer | Mx Kookie <kookie@spacekookie.de> | 2020-10-31 19:35:09 +0100 |
commit | c4625b175f8200f643fd6e11010932ea44c78433 (patch) | |
tree | bce3f89888c8ac3991fa5569a878a9eab6801ccc /infra/libkookie/nixpkgs/pkgs/os-specific/linux/lxc | |
parent | 49f735974dd103039ddc4cb576bb76555164a9e7 (diff) | |
parent | d661aa56a8843e991261510c1bb28fdc2f6975ae (diff) |
Add 'infra/libkookie/' from commit 'd661aa56a8843e991261510c1bb28fdc2f6975ae'
git-subtree-dir: infra/libkookie
git-subtree-mainline: 49f735974dd103039ddc4cb576bb76555164a9e7
git-subtree-split: d661aa56a8843e991261510c1bb28fdc2f6975ae
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/os-specific/linux/lxc')
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/os-specific/linux/lxc/default.nix | 99 | ||||
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/os-specific/linux/lxc/support-db2x.patch | 16 |
2 files changed, 115 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/lxc/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/lxc/default.nix new file mode 100644 index 000000000000..21c1eede9d7a --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/lxc/default.nix @@ -0,0 +1,99 @@ +{ stdenv, fetchurl, autoreconfHook, pkgconfig, perl, docbook2x +, docbook_xml_dtd_45, python3Packages, pam + +# Optional Dependencies +, libapparmor ? null, gnutls ? null, libselinux ? null, libseccomp ? null +, libcap ? null, systemd ? null +}: + +with stdenv.lib; +stdenv.mkDerivation rec { + pname = "lxc"; + version = "4.0.4"; + + src = fetchurl { + url = "https://linuxcontainers.org/downloads/lxc/lxc-${version}.tar.gz"; + sha256 = "15frszz5am9bnr8vh1zpg89x0xigcfm19jax0z16cazd42xahr9w"; + }; + + nativeBuildInputs = [ + autoreconfHook pkgconfig perl docbook2x python3Packages.wrapPython + ]; + buildInputs = [ + pam libapparmor gnutls libselinux libseccomp 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"; + + configureFlags = [ + "--enable-pam" + "--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 + + completions=( + lxc-attach lxc-cgroup lxc-console lxc-destroy lxc-device lxc-execute + lxc-freeze lxc-info lxc-monitor lxc-snapshot lxc-stop lxc-unfreeze + ) + pushd $out/share/bash-completion/completions/ + mv lxc lxc-start + for completion in ''${completions[@]}; do + ln -sfn lxc-start $completion + done + popd + ''; + + 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; [ fpletz ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/lxc/support-db2x.patch b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/lxc/support-db2x.patch new file mode 100644 index 000000000000..16715992d35f --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/lxc/support-db2x.patch @@ -0,0 +1,16 @@ +diff --git a/configure.ac b/configure.ac +index 84f8699..dce9033 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -192,9 +192,9 @@ if test "x$enable_doc" = "xyes" -o "x$enable_doc" = "xauto"; then + AC_SUBST(db2xman) + fi + AM_CONDITIONAL([ENABLE_DOCBOOK], [test "x$db2xman" != "x"]) +-AM_CONDITIONAL([USE_DOCBOOK2X], [test "x$db2xman" != "xdocbook2man"]) ++AM_CONDITIONAL([USE_DOCBOOK2X], [test "x$db2xman" != "no-no-no"]) + +-if test "x$db2xman" = "xdocbook2man"; then ++if test "x$db2xman" = "no-no-no"; then + docdtd="\"-//Davenport//DTD DocBook V3.0//EN\"" + else + docdtd="\"-//OASIS//DTD DocBook XML\" \"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd\"" |