Merge pull request #194004 from Homebrew/bump-binance-1.54.4
[Homebrew/homebrew-cask.git] / Casks / w / wine-stable.rb
blobf0090b065203a936a4e761b63b85c77842cf45b3
1 cask "wine-stable" do
2   version "9.0_3"
3   sha256 "e352befbd159225d4ef7c45ad90ccc4efb9797bd4e842f99036a32e850d1b3de"
5   # Current winehq packages are deprecated and these are packages from
6   # the new maintainers that will eventually be pushed to Winehq.
7   # See https://www.winehq.org/pipermail/wine-devel/2021-July/191504.html
8   url "https://github.com/Gcenx/macOS_Wine_builds/releases/download/#{version}/wine-stable-#{version}-osx64.tar.xz",
9       verified: "github.com/Gcenx/macOS_Wine_builds/"
10   name "WineHQ-stable"
11   desc "Compatibility layer to run Windows applications"
12   homepage "https://wiki.winehq.org/MacOS"
14   # Not every GitHub release provides a `wine-stable` file, so we check multiple
15   # recent releases instead of only the "latest" release.
16   livecheck do
17     url :url
18     regex(/^v?(\d+(?:[._-]\d+)+)$/i)
19     strategy :github_releases do |json, regex|
20       file_regex = /^wine[._-]stable[._-].*?$/i
22       json.map do |release|
23         next if release["draft"] || release["prerelease"]
24         next unless release["assets"]&.any? { |asset| asset["name"]&.match?(file_regex) }
26         match = release["tag_name"]&.match(regex)
27         next if match.blank?
29         match[1]
30       end
31     end
32   end
34   conflicts_with cask: [
35     "wine@devel",
36     "wine@staging",
37   ]
38   depends_on cask: "gstreamer-runtime"
39   depends_on macos: ">= :catalina"
41   app "Wine Stable.app"
42   binary "#{appdir}/Wine Stable.app/Contents/Resources/start/bin/appdb"
43   binary "#{appdir}/Wine Stable.app/Contents/Resources/start/bin/winehelp"
44   binary "#{appdir}/Wine Stable.app/Contents/Resources/wine/bin/msiexec"
45   binary "#{appdir}/Wine Stable.app/Contents/Resources/wine/bin/notepad"
46   binary "#{appdir}/Wine Stable.app/Contents/Resources/wine/bin/regedit"
47   binary "#{appdir}/Wine Stable.app/Contents/Resources/wine/bin/regsvr32"
48   binary "#{appdir}/Wine Stable.app/Contents/Resources/wine/bin/wine"
49   binary "#{appdir}/Wine Stable.app/Contents/Resources/wine/bin/wine64"
50   binary "#{appdir}/Wine Stable.app/Contents/Resources/wine/bin/wineboot"
51   binary "#{appdir}/Wine Stable.app/Contents/Resources/wine/bin/winecfg"
52   binary "#{appdir}/Wine Stable.app/Contents/Resources/wine/bin/wineconsole"
53   binary "#{appdir}/Wine Stable.app/Contents/Resources/wine/bin/winedbg"
54   binary "#{appdir}/Wine Stable.app/Contents/Resources/wine/bin/winefile"
55   binary "#{appdir}/Wine Stable.app/Contents/Resources/wine/bin/winemine"
56   binary "#{appdir}/Wine Stable.app/Contents/Resources/wine/bin/winepath"
57   binary "#{appdir}/Wine Stable.app/Contents/Resources/wine/bin/wineserver"
59   zap trash: [
60         "~/.local/share/applications/wine*",
61         "~/.local/share/icons/hicolor/**/application-x-wine*",
62         "~/.local/share/mime/application/x-wine*",
63         "~/.local/share/mime/packages/x-wine*",
64         "~/.wine",
65         "~/.wine32",
66         "~/Library/Saved Application State/org.winehq.wine-stable.wine.savedState",
67       ],
68       rmdir: [
69         "~/.local/share/applications",
70         "~/.local/share/icons",
71         "~/.local/share/mime",
72       ]
74   caveats do
75     requires_rosetta
76   end
77 end