mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-19 07:59:24 +03:00
wine-wayland: added derivation for building the experimental Wayland driver for Wine
This commit is contained in:
parent
5d70684de9
commit
abdbf22a30
7 changed files with 55 additions and 4 deletions
|
@ -35,7 +35,7 @@ let
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
variants = [ "base" "full" "minimal" "staging" "unstable" ];
|
variants = [ "base" "full" "minimal" "staging" "unstable" "wayland" ];
|
||||||
|
|
||||||
in listToAttrs (map (makeWineTest "winePackages" [ hello32 ]) variants
|
in listToAttrs (map (makeWineTest "winePackages" [ hello32 ]) variants
|
||||||
++ map (makeWineTest "wineWowPackages" [ hello32 hello64 ]) variants)
|
++ map (makeWineTest "wineWowPackages" [ hello32 hello64 ]) variants)
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
## Configuration:
|
## Configuration:
|
||||||
# Control you default wine config in nixpkgs-config:
|
# Control you default wine config in nixpkgs-config:
|
||||||
# wine = {
|
# wine = {
|
||||||
# release = "stable"; # "stable", "unstable", "staging"
|
# release = "stable"; # "stable", "unstable", "staging", "wayland"
|
||||||
# build = "wineWow"; # "wine32", "wine64", "wineWow"
|
# build = "wineWow"; # "wine32", "wine64", "wineWow"
|
||||||
# };
|
# };
|
||||||
# Make additional configurations on demand:
|
# Make additional configurations on demand:
|
||||||
|
@ -67,4 +67,11 @@ in if wineRelease == "staging" then
|
||||||
wineUnstable = wine-build wineBuild "unstable";
|
wineUnstable = wine-build wineBuild "unstable";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
wine-build wineBuild wineRelease
|
(if wineRelease == "wayland" then
|
||||||
|
callPackage ./wayland.nix {
|
||||||
|
wineWayland = wine-build wineBuild "wayland";
|
||||||
|
inherit vulkanSupport vkd3dSupport;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
wine-build wineBuild wineRelease
|
||||||
|
)
|
||||||
|
|
|
@ -10,6 +10,8 @@ let fetchurl = args@{url, sha256, ...}:
|
||||||
pkgs.fetchurl { inherit url sha256; } // args;
|
pkgs.fetchurl { inherit url sha256; } // args;
|
||||||
fetchFromGitHub = args@{owner, repo, rev, sha256, ...}:
|
fetchFromGitHub = args@{owner, repo, rev, sha256, ...}:
|
||||||
pkgs.fetchFromGitHub { inherit owner repo rev sha256; } // args;
|
pkgs.fetchFromGitHub { inherit owner repo rev sha256; } // args;
|
||||||
|
fetchFromGitLab = args@{domain, owner, repo, rev, sha256, ...}:
|
||||||
|
pkgs.fetchFromGitLab { inherit domain owner repo rev sha256; } // args;
|
||||||
in rec {
|
in rec {
|
||||||
|
|
||||||
stable = fetchurl rec {
|
stable = fetchurl rec {
|
||||||
|
@ -73,6 +75,19 @@ in rec {
|
||||||
disabledPatchsets = [ ];
|
disabledPatchsets = [ ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
wayland = fetchFromGitLab rec {
|
||||||
|
version = "7.0-rc2";
|
||||||
|
sha256 = "sha256-FU9L8cyIIfFQ+8f/AUg7IT+RxTpyNTuSfL0zBnur0SA=";
|
||||||
|
domain = "gitlab.collabora.com";
|
||||||
|
owner = "alf";
|
||||||
|
repo = "wine";
|
||||||
|
rev = "95f0154c96a4b7d81e783ee5ba2f5d9cc7cda351";
|
||||||
|
|
||||||
|
inherit (unstable) gecko32 gecko64;
|
||||||
|
|
||||||
|
inherit (unstable) mono;
|
||||||
|
};
|
||||||
|
|
||||||
winetricks = fetchFromGitHub rec {
|
winetricks = fetchFromGitHub rec {
|
||||||
# https://github.com/Winetricks/winetricks/releases
|
# https://github.com/Winetricks/winetricks/releases
|
||||||
version = "20210825";
|
version = "20210825";
|
||||||
|
|
21
pkgs/misc/emulators/wine/wayland.nix
Normal file
21
pkgs/misc/emulators/wine/wayland.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{ lib, callPackage, wineWayland, vulkanSupport, vkd3dSupport }:
|
||||||
|
|
||||||
|
with callPackage ./util.nix {};
|
||||||
|
|
||||||
|
(lib.overrideDerivation wineWayland (self: {
|
||||||
|
buildInputs = (toBuildInputs wineWayland.pkgArches (pkgs: [ pkgs.wayland pkgs.libxkbcommon pkgs.wayland-protocols pkgs.wayland.dev pkgs.libxkbcommon.dev ])) ++ (lib.subtractLists (toBuildInputs wineWayland.pkgArches (pkgs: [ pkgs.xorg.libX11 pkgs.xorg.libXi pkgs.xorg.libXcursor pkgs.xorg.libXrandr pkgs.xorg.libXrender pkgs.xorg.libXxf86vm pkgs.xorg.libXcomposite pkgs.xorg.libXext ])) self.buildInputs);
|
||||||
|
|
||||||
|
name = "${self.name}-wayland";
|
||||||
|
|
||||||
|
configureFlags = self.configureFlags
|
||||||
|
++ [ "--with-wayland" ]
|
||||||
|
++ lib.optionals vulkanSupport [ "--with-vulkan" ]
|
||||||
|
++ lib.optionals vkd3dSupport [ "--with-vkd3d" ];
|
||||||
|
|
||||||
|
})) // {
|
||||||
|
meta = wineWayland.meta // {
|
||||||
|
description = "An Open Source implementation of the Windows API on top of OpenGL and Unix (with experimental Wayland support)";
|
||||||
|
platforms = (lib.remove "x86_64-darwin" wineWayland.meta.platforms);
|
||||||
|
maintainers = wineWayland.meta.maintainers ++ [ lib.maintainers.jmc-figueira ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -1036,6 +1036,7 @@ mapAliases ({
|
||||||
weechat-matrix-bridge = weechatScripts.weechat-matrix-bridge; # added 2018-09-06
|
weechat-matrix-bridge = weechatScripts.weechat-matrix-bridge; # added 2018-09-06
|
||||||
wicd = throw "wicd has been removed as it is abandoned."; # added 2021-09-11
|
wicd = throw "wicd has been removed as it is abandoned."; # added 2021-09-11
|
||||||
wineStaging = wine-staging; # added 2018-01-08
|
wineStaging = wine-staging; # added 2018-01-08
|
||||||
|
wineWayland = wine-wayland;
|
||||||
winusb = woeusb; # added 2017-12-22
|
winusb = woeusb; # added 2017-12-22
|
||||||
winswitch = throw "winswitch has been removed from nixpkgs."; # added 2019-12-10
|
winswitch = throw "winswitch has been removed from nixpkgs."; # added 2019-12-10
|
||||||
wireshark-gtk = throw "wireshark-gtk is not supported anymore. Use wireshark-qt or wireshark-cli instead."; # added 2019-11-18
|
wireshark-gtk = throw "wireshark-gtk is not supported anymore. Use wireshark-qt or wireshark-cli instead."; # added 2019-11-18
|
||||||
|
|
|
@ -33652,7 +33652,7 @@ with pkgs;
|
||||||
inherit wineBuild;
|
inherit wineBuild;
|
||||||
|
|
||||||
inherit (callPackage ./wine-packages.nix {})
|
inherit (callPackage ./wine-packages.nix {})
|
||||||
minimal base full stable stableFull unstable unstableFull staging stagingFull fonts;
|
minimal base full stable stableFull unstable unstableFull staging stagingFull wayland waylandFull fonts;
|
||||||
});
|
});
|
||||||
|
|
||||||
winePackages = recurseIntoAttrs (winePackagesFor (config.wine.build or "wine32"));
|
winePackages = recurseIntoAttrs (winePackagesFor (config.wine.build or "wine32"));
|
||||||
|
@ -33666,6 +33666,10 @@ with pkgs;
|
||||||
wineRelease = "staging";
|
wineRelease = "staging";
|
||||||
});
|
});
|
||||||
|
|
||||||
|
wine-wayland = lowPrio (winePackages.full.override {
|
||||||
|
wineRelease = "wayland";
|
||||||
|
});
|
||||||
|
|
||||||
winetricks = callPackage ../misc/emulators/wine/winetricks.nix {
|
winetricks = callPackage ../misc/emulators/wine/winetricks.nix {
|
||||||
inherit (gnome) zenity;
|
inherit (gnome) zenity;
|
||||||
};
|
};
|
||||||
|
|
|
@ -58,4 +58,7 @@ rec {
|
||||||
|
|
||||||
staging = base.override { wineRelease = "staging"; };
|
staging = base.override { wineRelease = "staging"; };
|
||||||
stagingFull = full.override { wineRelease = "staging"; };
|
stagingFull = full.override { wineRelease = "staging"; };
|
||||||
|
|
||||||
|
wayland = base.override { wineRelease = "wayland"; };
|
||||||
|
waylandFull = full.override { wineRelease = "wayland"; };
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue