Unverified Commit 85c36fec authored by Emily's avatar Emily Committed by GitHub
Browse files

xen: nuke, move to by-name. (#345192)

parents 10b89ee9 ec7ad190
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -385,9 +385,11 @@
    - changed-files:
      - any-glob-to-any-file:
        - nixos/modules/virtualisation/xen*
        - pkgs/applications/virtualization/xen/**
        - pkgs/by-name/xe/xen/*
        - pkgs/by-name/qe/qemu_xen/*
        - pkgs/by-name/xe/xen-guest-agent/*
        - pkgs/by-name/xt/xtf/*
        - pkgs/build-support/xen/*
        - pkgs/development/ocaml-modules/xen*/*
        - pkgs/development/ocaml-modules/vchan/*

+2 −3
Original line number Diff line number Diff line
@@ -54,12 +54,11 @@
  was added through the `boot.initrd.systemd.dmVerity` option.

- The [Xen Project Hypervisor](https://xenproject.org) is once again available as a virtualisation option under [`virtualisation.xen`](#opt-virtualisation.xen.enable).
  - This release includes Xen [4.17.5](https://wiki.xenproject.org/wiki/Xen_Project_4.17_Release_Notes), [4.18.3](https://wiki.xenproject.org/wiki/Xen_Project_4.18_Release_Notes) and [4.19.0](https://wiki.xenproject.org/wiki/Xen_Project_4.19_Release_Notes), as well as support for booting the hypervisor on EFI systems.
  - This release includes Xen [4.19.0](https://wiki.xenproject.org/wiki/Xen_Project_4.19_Release_Notes) and support for booting the hypervisor on EFI systems.
  ::: {.warning}
    Booting into the Xen Project Hypervisor through a legacy BIOS bootloader or with the legacy script-based Stage 1 initrd have been **deprecated**. Only EFI booting and the new systemd-based Stage 1 initrd are supported.
  :::
  - There are two flavours of Xen available by default: `xen`, which includes all built-in components, and `xen-slim`, which replaces the built-in components with their Nixpkgs equivalents.
    - The `qemu-xen-traditional` component has been deprecated by the upstream Xen Project, and is no longer available in any of the Xen Project Hypervisor packages.
  - The `qemu-xen-traditional` component has been deprecated by the upstream Xen Project, and is no longer included in the Xen build.
  - The OCaml-based Xen Store can now be configured using  [`virtualisation.xen.store.settings`](#opt-virtualisation.xen.store.settings).
  - The `virtualisation.xen.bridge` options have been deprecated in this release cycle. Users who need network bridges are encouraged to set up their own networking configurations.

+147 −146

File changed.

Preview size limit exceeded, changes collapsed.

+4 −0
Original line number Diff line number Diff line
@@ -38,6 +38,8 @@
, hostCpuOnly ? false
, hostCpuTargets ? (if toolsOnly
                    then [ ]
                    else if xenSupport
                    then [ "i386-softmmu" ]
                    else if hostCpuOnly
                    then (lib.optional stdenv.hostPlatform.isx86_64 "i386-softmmu"
                          ++ ["${stdenv.hostPlatform.qemuArch}-softmmu"])
@@ -50,6 +52,8 @@
, qemu-utils # for tests attribute
}:

assert lib.assertMsg (xenSupport -> hostCpuTargets == [ "i386-softmmu" ]) "Xen should not use any other QEMU architecture other than i386.";

let
  hexagonSupport = hostCpuTargets == null || lib.elem "hexagon" hostCpuTargets;

+0 −56
Original line number Diff line number Diff line
{
  lib,
  fetchpatch,
  callPackage,
  ocaml-ng,
  ...
}@genericDefinition:

let
  upstreamPatches = import ../generic/patches.nix {
    inherit lib;
    inherit fetchpatch;
  };

  upstreamPatchList = lib.lists.flatten (
    with upstreamPatches;
    [
      QUBES_REPRODUCIBLE_BUILDS
      XSA_462
    ]
  );
in

callPackage (import ../generic/default.nix {
  pname = "xen";
  branch = "4.17";
  version = "4.17.5";
  latest = false;
  pkg = {
    xen = {
      rev = "430ce6cd936546ad883ecd1c85ddea32d790604b";
      hash = "sha256-UoMdXRW0yWSaQPPV0rgoTZVO2ghdnqWruBHn7+ZjKzI=";
      patches = [ ] ++ upstreamPatchList;
    };
    qemu = {
      rev = "ffb451126550b22b43b62fb8731a0d78e3376c03";
      hash = "sha256-G0hMPid9d3fd1jAY7CiZ33xUZf1hdy96T1VUKFGeHSk=";
      patches = [ ];
    };
    seaBIOS = {
      rev = "d239552ce7220e448ae81f41515138f7b9e3c4db";
      hash = "sha256-UKMceJhIprN4/4Xe4EG2EvKlanxVcEi5Qcrrk3Ogiik=";
      patches = [ ];
    };
    ovmf = {
      rev = "7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5";
      hash = "sha256-Qq2RgktCkJZBsq6Ch+6tyRHhme4lfcN7d2oQfxwhQt8=";
      patches = [ ];
    };
    ipxe = {
      rev = "1d1cf74a5e58811822bee4b3da3cff7282fcdfca";
      hash = "sha256-8pwoPrmkpL6jIM+Y/C0xSvyrBM/Uv0D1GuBwNm+0DHU=";
      patches = [ ];
    };
  };
}) ({ ocamlPackages = ocaml-ng.ocamlPackages_4_14; } // genericDefinition)
Loading