about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools/admin/lxd/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/tools/admin/lxd/default.nix')
-rw-r--r--nixpkgs/pkgs/tools/admin/lxd/default.nix56
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;