|
1 | 1 | class SynergyCore < Formula
|
2 | 2 | desc "Synergy, the keyboard and mouse sharing tool"
|
3 | 3 | homepage "https://symless.com/synergy"
|
4 |
| - url "https://github.com/symless/synergy/archive/refs/tags/1.15.1+r1.tar.gz" |
5 |
| - version "1.15.1" |
6 |
| - sha256 "42fbf26c634d2947c7efc45da8c9a153387bcdcb19c1102a4f7c4e95aad5c708" |
| 4 | + url "https://github.com/symless/synergy/archive/refs/tags/v1.17.1.tar.gz" |
| 5 | + sha256 "73bc058abe19a02979c1cf77e3e7ac6ea9b74a50779c3b4655617ddabe90c26b" |
7 | 6 |
|
8 | 7 | # The synergy-core/LICENSE file contains the following preamble:
|
9 | 8 | # This program is released under the GPL with the additional exemption
|
@@ -69,6 +68,25 @@ class SynergyCore < Formula
|
69 | 68 | cause "needs `std::ranges::find`"
|
70 | 69 | end
|
71 | 70 |
|
| 71 | + # Use upstream code style (prerequisite to Qt 6.9 build fix below) |
| 72 | + patch do |
| 73 | + url "https://github.com/symless/synergy/commit/e3ba83d2a0370dd59d499678aeeab3d5733b331c.patch?full_index=1" |
| 74 | + sha256 "653e1f18eebccfbd81f637a17223bf71be32725baf6d59db4ffd6dafdc8eb522" |
| 75 | + end |
| 76 | + # fix: build issue on Qt 6.9 |
| 77 | + # PR ref: https://github.com/symless/synergy/pull/15 |
| 78 | + patch do |
| 79 | + url "https://github.com/symless/synergy/commit/b7a476dddc723acac05753bcbd148cc146b953f1.patch?full_index=1" |
| 80 | + sha256 "7fab9d376eb0aad7cf1718edd7d5e65757866aa5d738d4c766a4d735aac7a0c1" |
| 81 | + end |
| 82 | + |
| 83 | + # Resolve `deprecated-enum-float-conversion` compiler warnings |
| 84 | + # PR ref: https://github.com/symless/synergy/pull/55 |
| 85 | + patch do |
| 86 | + url "https://github.com/symless/synergy/commit/34648fc70f5b78ec985eee6e6609921d34ff99e7.patch?full_index=1" |
| 87 | + sha256 "3f5b9b9149263f92246b2bef3b683883ef70c61867ef36a1d4fd32727b64995d" |
| 88 | + end |
| 89 | + |
72 | 90 | def install
|
73 | 91 | if OS.mac?
|
74 | 92 | ENV.llvm_clang if DevelopmentTools.clang_build_version <= 1402
|
@@ -145,15 +163,22 @@ def caveats
|
145 | 163 | end
|
146 | 164 |
|
147 | 165 | test do
|
148 |
| - assert_match(/synergys: no configuration available\n$/, |
149 |
| - shell_output("#{opt_bin}/synergys 2>&1", 4)) |
150 |
| - assert_match(/synergyc: a server address or name is required$/, |
151 |
| - shell_output("#{opt_bin}/synergyc 2>&1", 3).split("\n")[0]) |
| 166 | + if OS.mac? |
| 167 | + server = "#{prefix}/bundle/Deskflow.app/Contents/MacOS/deskflow-server" |
| 168 | + client = "#{prefix}/bundle/Deskflow.app/Contents/MacOS/deskflow-client" |
| 169 | + else |
| 170 | + server = "#{opt_bin}/synergys" |
| 171 | + client = "#{opt_bin}/synergyc" |
| 172 | + end |
| 173 | + assert_match(%r{(?:synergys|deskflow-server): failed to load config: /}, |
| 174 | + shell_output("#{server} 2>&1", 4)) |
| 175 | + assert_match(/(?:synergyc|deskflow-client): a server address or name is required$/,
|
| 176 | + shell_output("#{client} 2>&1", 3).split("\n")[0]) |
152 | 177 |
|
153 | 178 | version_string = Regexp.quote(version.major_minor_patch)
|
154 |
| - assert_match(/synergys v#{version_string}[-.0-9a-z]*, protocol v/, |
155 |
| - shell_output("#{opt_bin}/synergys --version").lines.first) |
156 |
| - assert_match(/synergyc v#{version_string}[-.0-9a-z]*, protocol v/, |
157 |
| - shell_output("#{opt_bin}/synergyc --version").lines.first) |
| 179 | + assert_match(/(?:synergys|deskflow-server) v#{version_string}[-.0-9a-z]*, protocol v/, |
| 180 | + shell_output("#{server} --version").lines.first) |
| 181 | + assert_match(/(?:synergyc|deskflow-client) v#{version_string}[-.0-9a-z]*, protocol v/, |
| 182 | + shell_output("#{client} --version").lines.first) |
158 | 183 | end
|
159 | 184 | end
|
0 commit comments