1{
2 stdenv_32bit,
3 lib,
4 pkgs,
5 pkgsi686Linux,
6 pkgsCross,
7 callPackage,
8 replaceVars,
9 moltenvk,
10 wineRelease ? "stable",
11 supportFlags,
12}:
13
14let
15 src = lib.getAttr wineRelease (callPackage ./sources.nix { });
16in
17with src;
18{
19 wine32 = pkgsi686Linux.callPackage ./base.nix {
20 pname = "wine";
21 inherit
22 src
23 version
24 supportFlags
25 patches
26 moltenvk
27 wineRelease
28 ;
29 pkgArches = [ pkgsi686Linux ];
30 geckos = [ gecko32 ];
31 mingwGccs = with pkgsCross; [ mingw32.buildPackages.gcc ];
32 monos = [ mono ];
33 platforms = [
34 "i686-linux"
35 "x86_64-linux"
36 ];
37 };
38 wine64 = callPackage ./base.nix {
39 pname = "wine64";
40 inherit
41 src
42 version
43 supportFlags
44 patches
45 moltenvk
46 wineRelease
47 ;
48 pkgArches = [ pkgs ];
49 mingwGccs = with pkgsCross; [ mingwW64.buildPackages.gcc ];
50 geckos = [ gecko64 ];
51 monos = [ mono ];
52 configureFlags = [ "--enable-win64" ];
53 platforms = [
54 "x86_64-linux"
55 "x86_64-darwin"
56 ];
57 mainProgram = "wine64";
58 };
59 wineWow = callPackage ./base.nix {
60 pname = "wine-wow";
61 inherit
62 src
63 version
64 supportFlags
65 patches
66 moltenvk
67 wineRelease
68 ;
69 stdenv = stdenv_32bit;
70 pkgArches = [
71 pkgs
72 pkgsi686Linux
73 ];
74 geckos = [
75 gecko32
76 gecko64
77 ];
78 mingwGccs = with pkgsCross; [
79 mingw32.buildPackages.gcc
80 mingwW64.buildPackages.gcc
81 ];
82 monos = [ mono ];
83 buildScript = replaceVars ./builder-wow.sh {
84 # pkgconfig has trouble picking the right architecture
85 pkgconfig64remove = lib.makeSearchPathOutput "dev" "lib/pkgconfig" [
86 pkgs.glib
87 pkgs.gst_all_1.gstreamer
88 ];
89 };
90 platforms = [ "x86_64-linux" ];
91 mainProgram = "wine64";
92 };
93 wineWow64 = callPackage ./base.nix {
94 pname = "wine-wow64";
95 inherit
96 src
97 version
98 patches
99 moltenvk
100 wineRelease
101 ;
102 supportFlags = supportFlags // {
103 mingwSupport = true;
104 }; # Required because we request "--enable-archs=x86_64"
105 pkgArches = [ pkgs ];
106 mingwGccs = with pkgsCross; [
107 mingw32.buildPackages.gcc
108 mingwW64.buildPackages.gcc
109 ];
110 geckos = [ gecko64 ];
111 monos = [ mono ];
112 configureFlags = [ "--enable-archs=x86_64,i386" ];
113 platforms = [
114 "x86_64-linux"
115 "x86_64-darwin"
116 ];
117 mainProgram = "wine";
118 };
119}