diff --git a/pkgs/applications/virtualization/xen/generic/default.nix b/pkgs/applications/virtualization/xen/generic/default.nix index 250e5a41bfc1..d4d0d235eef2 100644 --- a/pkgs/applications/virtualization/xen/generic/default.nix +++ b/pkgs/applications/virtualization/xen/generic/default.nix @@ -25,7 +25,7 @@ versionDefinition: ncurses, ocamlPackages, perl, - python311Packages, + python3Packages, systemdMinimal, xz, yajl, @@ -323,6 +323,7 @@ stdenv.mkDerivation (finalAttrs: { "doc" # The full Xen documentation in HTML format. "dev" # Development headers. "boot" # xen.gz kernel, policy file if Flask is enabled, xen.efi if EFI is enabled. + # TODO: Python package to be in separate output/package. ]; # Main Xen source. @@ -345,10 +346,11 @@ stdenv.mkDerivation (finalAttrs: { flex pandoc pkg-config + python3Packages.setuptools ] ++ lib.lists.optionals withInternalQEMU [ ninja - python311Packages.sphinx + python3Packages.sphinx ]; buildInputs = [ @@ -362,7 +364,7 @@ stdenv.mkDerivation (finalAttrs: { lzo ncurses perl - python311Packages.python + python3Packages.python xz yajl zlib @@ -373,7 +375,7 @@ stdenv.mkDerivation (finalAttrs: { ocamlPackages.ocaml # Python Fixes - python311Packages.wrapPython + python3Packages.wrapPython ] ++ lib.lists.optionals withInternalQEMU [ glib diff --git a/pkgs/applications/virtualization/xen/packages.nix b/pkgs/applications/virtualization/xen/packages.nix index 7402edc8bc70..fe759709770f 100644 --- a/pkgs/applications/virtualization/xen/packages.nix +++ b/pkgs/applications/virtualization/xen/packages.nix @@ -1,6 +1,12 @@ -{ callPackage }: +{ + python3Packages, + python311Packages, + callPackage, +}: let standard = { + # Broken with python 3.12+ when using internal QEMU due to https://github.com/NixOS/nixpkgs/issues/253751 + python3Packages = python311Packages; meta = { description = "Standard"; longDescription = '' @@ -13,6 +19,7 @@ let }; }; slim = { + inherit python3Packages; meta = { description = "Without Internal Components"; longDescription = '' @@ -27,30 +34,38 @@ let in # TODO: generalise this to automatically generate both Xen variants for each .//default.nix. rec { - xen_4_19 = callPackage ./4.19/default.nix { inherit (standard) meta; }; + xen_4_19 = callPackage ./4.19/default.nix { + inherit (standard) meta python3Packages; + }; xen_4_19-slim = xen_4_19.override { withInternalQEMU = false; withInternalSeaBIOS = false; withInternalOVMF = false; withInternalIPXE = false; - inherit (slim) meta; + inherit (slim) meta python3Packages; }; - xen_4_18 = callPackage ./4.18/default.nix { inherit (standard) meta; }; + xen_4_18 = callPackage ./4.18/default.nix { + inherit (standard) meta python3Packages; + }; xen_4_18-slim = xen_4_18.override { withInternalQEMU = false; withInternalSeaBIOS = false; withInternalOVMF = false; withInternalIPXE = false; - inherit (slim) meta; + inherit (slim) meta python3Packages; }; - xen_4_17 = callPackage ./4.17/default.nix { inherit (standard) meta; }; + xen_4_17 = callPackage ./4.17/default.nix { + inherit (standard) meta python3Packages; + }; xen_4_17-slim = xen_4_17.override { withInternalQEMU = false; withInternalSeaBIOS = false; withInternalOVMF = false; withInternalIPXE = false; inherit (slim) meta; + # Broken with python 3.12+ due to distutils missing. + python3Packages = python311Packages; }; } diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5f4c18055d16..9376889841e9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -17550,6 +17550,10 @@ self: super: with self; { inherit (pkgs) graphviz; }; + xen = toPythonModule (pkgs.xen-slim.override { + python3Packages = self; + }); + xformers = callPackage ../development/python-modules/xformers { }; xgboost = callPackage ../development/python-modules/xgboost {