diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/admin/lxd/default.nix')
-rw-r--r-- | nixpkgs/pkgs/tools/admin/lxd/default.nix | 56 |
1 files changed, 18 insertions, 38 deletions
diff --git a/nixpkgs/pkgs/tools/admin/lxd/default.nix b/nixpkgs/pkgs/tools/admin/lxd/default.nix index 3048eaac33c5..02bf8cbd4e6c 100644 --- a/nixpkgs/pkgs/tools/admin/lxd/default.nix +++ b/nixpkgs/pkgs/tools/admin/lxd/default.nix @@ -4,43 +4,25 @@ , lxc , buildGoModule , fetchurl -, makeWrapper , acl -, rsync -, gnutar -, xz -, btrfs-progs -, gzip -, dnsmasq -, attr -, squashfsTools -, iproute2 -, iptables , libcap , dqlite , raft-canonical , sqlite , udev -, writeShellScriptBin -, apparmor-profiles -, apparmor-parser -, criu -, bash , installShellFiles , nixosTests , gitUpdater +, callPackage }: buildGoModule rec { - pname = "lxd"; - version = "5.14"; + pname = "lxd-unwrapped"; + version = "5.16"; src = fetchurl { - urls = [ - "https://linuxcontainers.org/downloads/lxd/lxd-${version}.tar.gz" - "https://github.com/lxc/lxd/releases/download/lxd-${version}/lxd-${version}.tar.gz" - ]; - hash = "sha256-EtVZ0g9LD6dWA70/E1Ad/RWJjbvrAzU2hF3n6CdTMBE="; + url = "https://github.com/canonical/lxd/releases/download/lxd-${version}/lxd-${version}.tar.gz"; + hash = "sha256-evtNPZvnx8rzr/tJkEp0E7BhUBWHBSJdMtZJQk3VZI8="; }; vendorHash = null; @@ -50,9 +32,9 @@ buildGoModule rec { --replace "/usr/share/misc/usb.ids" "${hwdata}/share/hwdata/usb.ids" ''; - excludedPackages = [ "test" "lxd/db/generate" ]; + excludedPackages = [ "test" "lxd/db/generate" "lxd-agent" "lxd-migrate" ]; - nativeBuildInputs = [ installShellFiles pkg-config makeWrapper ]; + nativeBuildInputs = [ installShellFiles pkg-config ]; buildInputs = [ lxc acl @@ -67,10 +49,15 @@ buildGoModule rec { tags = [ "libsqlite3" ]; preBuild = '' - # required for go-dqlite. See: https://github.com/lxc/lxd/pull/8939 + # required for go-dqlite. See: https://github.com/canonical/lxd/pull/8939 export CGO_LDFLAGS_ALLOW="(-Wl,-wrap,pthread_create)|(-Wl,-z,now)" ''; + # build static binaries: https://github.com/canonical/lxd/blob/6fd175c45e65cd475d198db69d6528e489733e19/Makefile#L43-L51 + postBuild = '' + make lxd-agent lxd-migrate + ''; + preCheck = let skippedTests = [ "TestValidateConfig" @@ -85,29 +72,22 @@ buildGoModule rec { ''; postInstall = '' - wrapProgram $out/bin/lxd --prefix PATH : ${lib.makeBinPath ( - [ iptables ] - ++ [ acl rsync gnutar xz btrfs-progs gzip dnsmasq squashfsTools iproute2 bash criu attr ] - ++ [ (writeShellScriptBin "apparmor_parser" '' - exec '${apparmor-parser}/bin/apparmor_parser' -I '${apparmor-profiles}/etc/apparmor.d' "$@" - '') ] - ) - } - installShellCompletion --bash --name lxd ./scripts/bash/lxd-client ''; passthru.tests.lxd = nixosTests.lxd; passthru.tests.lxd-nftables = nixosTests.lxd-nftables; + passthru.tests.lxd-ui = nixosTests.lxd-ui; + passthru.ui = callPackage ./ui.nix { }; passthru.updateScript = gitUpdater { - url = "https://github.com/lxc/lxd.git"; + url = "https://github.com/canonical/lxd.git"; rev-prefix = "lxd-"; }; meta = with lib; { description = "Daemon based on liblxc offering a REST API to manage containers"; - homepage = "https://linuxcontainers.org/lxd/"; - changelog = "https://github.com/lxc/lxd/releases/tag/lxd-${version}"; + homepage = "https://ubuntu.com/lxd"; + changelog = "https://github.com/canonical/lxd/releases/tag/lxd-${version}"; license = licenses.asl20; maintainers = with maintainers; [ marsam adamcstephens ]; platforms = platforms.linux; |