Unverified Commit 414771bb authored by John Ericson's avatar John Ericson Committed by GitHub
Browse files

winePackages: Move `lib.makeExtensible` into `wine-packages.nix` (#492520)

parents 7ce7d341 bc2bb87c
Loading
Loading
Loading
Loading
+1 −25
Original line number Diff line number Diff line
@@ -12613,31 +12613,7 @@ with pkgs;

  wibo = pkgsi686Linux.callPackage ../applications/emulators/wibo { };

  winePackagesFor =
    wineBuild:
    lib.makeExtensible (
      self: with self; {
        callPackage = newScope self;

        inherit wineBuild;

        inherit (callPackage ./wine-packages.nix { })
          minimal
          base
          full
          stable
          stableFull
          unstable
          unstableFull
          staging
          stagingFull
          wayland
          waylandFull
          yabridge
          fonts
          ;
      }
    );
  winePackagesFor = wineBuild: callPackage ./wine-packages.nix { inherit wineBuild; };

  winePackages = recurseIntoAttrs (winePackagesFor (config.wine.build or "wine32"));
  wine64Packages = recurseIntoAttrs (winePackagesFor "wine64");
+70 −60
Original line number Diff line number Diff line
@@ -2,18 +2,27 @@
  lib,
  stdenv,
  config,
  callPackage,
  # not for anything bound in the package set, do note
  pkgs,
  newScope,
  wineBuild,
}:

rec {
lib.makeExtensible (
  self:
  let
    callPackage = newScope self;
  in
  {
    inherit callPackage wineBuild;

    fonts = callPackage ../applications/emulators/wine/fonts.nix { };
    minimal = callPackage ../applications/emulators/wine {
      wineRelease = config.wine.release or "stable";
      inherit wineBuild;
    };

  base = minimal.override {
    base = self.minimal.override {
      gettextSupport = true;
      fontconfigSupport = stdenv.hostPlatform.isLinux;
      alsaSupport = stdenv.hostPlatform.isLinux;
@@ -36,7 +45,7 @@ rec {
      ffmpegSupport = true;
    };

  full = base.override {
    full = self.base.override {
      gtkSupport = stdenv.hostPlatform.isLinux;
      gstreamerSupport = true;
      openclSupport = true;
@@ -50,25 +59,26 @@ rec {
      embedInstallers = true;
    };

  stable = base.override { wineRelease = "stable"; };
  stableFull = full.override { wineRelease = "stable"; };
    stable = self.base.override { wineRelease = "stable"; };
    stableFull = self.full.override { wineRelease = "stable"; };

  unstable = base.override { wineRelease = "unstable"; };
  unstableFull = full.override { wineRelease = "unstable"; };
    unstable = self.base.override { wineRelease = "unstable"; };
    unstableFull = self.full.override { wineRelease = "unstable"; };

  staging = base.override { wineRelease = "staging"; };
  stagingFull = full.override { wineRelease = "staging"; };
    staging = self.base.override { wineRelease = "staging"; };
    stagingFull = self.full.override { wineRelease = "staging"; };

  wayland = base.override {
    wayland = self.base.override {
      x11Support = false;
    };
  waylandFull = full.override {
    waylandFull = self.full.override {
      x11Support = false;
    };

    yabridge =
      let
      yabridge = base.override { wineRelease = "yabridge"; };
        yabridge = self.base.override { wineRelease = "yabridge"; };
      in
      if wineBuild == "wineWow" then yabridge else lib.dontDistribute yabridge;
  }
)