anvil-editor: init at 0.4
[NixPkgs.git] / pkgs / applications / misc / bottles / default.nix
blobbc9d3cb2e444e5a3d54e49efece1314c59bcd44c
2   lib,
3   fetchFromGitHub,
4   gitUpdater,
5   python3Packages,
6   blueprint-compiler,
7   meson,
8   ninja,
9   pkg-config,
10   wrapGAppsHook4,
11   appstream-glib,
12   desktop-file-utils,
13   librsvg,
14   gtk4,
15   gtksourceview5,
16   libadwaita,
17   cabextract,
18   p7zip,
19   xdpyinfo,
20   imagemagick,
21   lsb-release,
22   pciutils,
23   procps,
24   gamescope,
25   mangohud,
26   vkbasalt-cli,
27   vmtouch,
30 python3Packages.buildPythonApplication rec {
31   pname = "bottles-unwrapped";
32   version = "51.13";
34   src = fetchFromGitHub {
35     owner = "bottlesdevs";
36     repo = "bottles";
37     rev = version;
38     hash = "sha256-ZcUevGY81H3ATTk390ojBp/4zBE2Lui7Qa+Qe8B0XL4=";
39   };
41   patches = [ ./vulkan_icd.patch ];
43   # https://github.com/bottlesdevs/Bottles/wiki/Packaging
44   nativeBuildInputs = [
45     blueprint-compiler
46     meson
47     ninja
48     pkg-config
49     wrapGAppsHook4
50     gtk4 # gtk4-update-icon-cache
51     appstream-glib
52     desktop-file-utils
53   ];
55   buildInputs = [
56     librsvg
57     gtk4
58     gtksourceview5
59     libadwaita
60   ];
62   propagatedBuildInputs =
63     with python3Packages;
64     [
65       pathvalidate
66       pycurl
67       pyyaml
68       requests
69       pygobject3
70       patool
71       markdown
72       fvs
73       pefile
74       urllib3
75       chardet
76       certifi
77       idna
78       orjson
79       icoextract
80     ]
81     ++ [
82       cabextract
83       p7zip
84       xdpyinfo
85       imagemagick
86       vkbasalt-cli
88       gamescope
89       mangohud
90       vmtouch
92       # Undocumented (subprocess.Popen())
93       lsb-release
94       pciutils
95       procps
96     ];
98   format = "other";
99   dontWrapGApps = true; # prevent double wrapping
101   preFixup = ''
102     makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
103   '';
105   passthru.updateScript = gitUpdater { };
107   meta = with lib; {
108     description = "Easy-to-use wineprefix manager";
109     homepage = "https://usebottles.com/";
110     downloadPage = "https://github.com/bottlesdevs/Bottles/releases";
111     license = licenses.gpl3Only;
112     maintainers = with maintainers; [
113       psydvl
114       shamilton
115     ];
116     platforms = platforms.linux;
117     mainProgram = "bottles";
118   };