Skip to content

Commit b720cf2

Browse files
committed
keeper-commander: use brewed pydantic-core
1 parent c3f3682 commit b720cf2

File tree

1 file changed

+53
-24
lines changed

1 file changed

+53
-24
lines changed

Formula/k/keeper-commander.rb

Lines changed: 53 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -18,19 +18,21 @@ class KeeperCommander < Formula
1818
end
1919

2020
depends_on "pkgconf" => :build
21-
depends_on "rust" => :build # bcrypt dependencies
21+
depends_on "rust" => :build # for bcrypt, keeper-pam-webrtc-rs
2222

23-
depends_on "certifi"
24-
depends_on "cryptography"
23+
depends_on "certifi" => :no_linkage
24+
depends_on "cryptography" => :no_linkage
2525
depends_on "ffmpeg"
2626
depends_on "libvpx"
2727
depends_on "libyaml"
2828
depends_on "opus"
29-
depends_on "pillow"
29+
depends_on "pillow" => :no_linkage
30+
depends_on "pydantic-core" => :no_linkage
3031
depends_on "[email protected]"
3132
depends_on "srtp"
3233

3334
on_macos do
35+
depends_on "llvm" => :build if DevelopmentTools.clang_build_version <= 1699
3436
depends_on "openssl@3"
3537
end
3638

@@ -39,7 +41,7 @@ class KeeperCommander < Formula
3941
depends_on "openjpeg"
4042
end
4143

42-
pypi_packages exclude_packages: %w[certifi cryptography pillow]
44+
pypi_packages exclude_packages: %w[certifi cryptography pillow pydantic-core]
4345

4446
resource "annotated-types" do
4547
url "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz"
@@ -61,6 +63,11 @@ class KeeperCommander < Formula
6163
sha256 "b4ce2265a7abece45e7cc896e98dbebe6cead56bcf805a3d23136d145f5445bf"
6264
end
6365

66+
resource "cbor2" do
67+
url "https://files.pythonhosted.org/packages/a2/b8/c0f6a7d46f816cb18b1fda61a2fe648abe16039f1ff93ea720a6e9fb3cee/cbor2-5.7.1.tar.gz"
68+
sha256 "7a405a1d7c8230ee9acf240aad48ae947ef584e8af05f169f3c1bde8f01f8b71"
69+
end
70+
6471
resource "charset-normalizer" do
6572
url "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz"
6673
sha256 "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a"
@@ -82,8 +89,8 @@ class KeeperCommander < Formula
8289
end
8390

8491
resource "deprecated" do
85-
url "https://files.pythonhosted.org/packages/98/97/06afe62762c9a8a86af0cfb7bfdab22a43ad17138b07af5b1a58442690a2/deprecated-1.2.18.tar.gz"
86-
sha256 "422b6f6d859da6f2ef57857761bfb392480502a64c3028ca9bbe86085d72115d"
92+
url "https://files.pythonhosted.org/packages/49/85/12f0a49a7c4ffb70572b6c2ef13c90c88fd190debda93b23f026b25f9634/deprecated-1.3.1.tar.gz"
93+
sha256 "b1b50e0ff0c1fddaa5708a2c6b0a6588bb09b892825ab2b214ac9ea9d92a5223"
8794
end
8895

8996
resource "fido2" do
@@ -107,8 +114,8 @@ class KeeperCommander < Formula
107114
end
108115

109116
resource "fpdf2" do
110-
url "https://files.pythonhosted.org/packages/87/ff/4a1dd414e5c5df5a11904118afdb544f3a446c9c512cc77e9741cf74fb30/fpdf2-2.8.4.tar.gz"
111-
sha256 "12b1f1dd35d0c2f35284bcfe10b153d6ca4baf29377379843e73d3f971eab6b7"
117+
url "https://files.pythonhosted.org/packages/e9/c0/784b130a28f4ed612e9aff26d1118e1f91005713dcd0a35e60b54d316b56/fpdf2-2.8.5.tar.gz"
118+
sha256 "af4491ef2e0a5fe476f9d61362925658949c995f7e804438c0e81008f1550247"
112119
end
113120

114121
resource "idna" do
@@ -132,8 +139,8 @@ class KeeperCommander < Formula
132139
end
133140

134141
resource "keeper-pam-webrtc-rs" do
135-
url "https://files.pythonhosted.org/packages/4a/cb/9e5851e7f991dd1a14d6db0502169c535ec55408bba42f682734ce9df442/keeper_pam_webrtc_rs-1.1.0.tar.gz"
136-
sha256 "f8b79c5595585d2faf381f0e67600c0d8415b90905b01b573d192199a9a91fa0"
142+
url "https://files.pythonhosted.org/packages/b6/0c/88474a9a15cf02704b924e65ec301f4a9ed0ac609d9b4d2f1c173c3e3fe7/keeper_pam_webrtc_rs-1.1.2.tar.gz"
143+
sha256 "70e3625705bcd56a83e0c38d325436d9800da420ccb9e2cf73cf4fe8417c1f13"
137144
end
138145

139146
resource "keeper-secrets-manager-core" do
@@ -196,11 +203,6 @@ class KeeperCommander < Formula
196203
sha256 "1da1c82b0fc140bb0103bc1441ffe062154c8d38491189751ee00fd8ca65ce74"
197204
end
198205

199-
resource "pydantic-core" do
200-
url "https://files.pythonhosted.org/packages/df/18/d0944e8eaaa3efd0a91b0f1fc537d3be55ad35091b6a87638211ba691964/pydantic_core-2.41.4.tar.gz"
201-
sha256 "70e47929a9d4a1905a67e4b687d5946026390568a8e952b92824118063cee4d5"
202-
end
203-
204206
resource "pygments" do
205207
url "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz"
206208
sha256 "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887"
@@ -211,6 +213,26 @@ class KeeperCommander < Formula
211213
sha256 "ad8637738ced5bdb88c28b087fea39ca552860c2d30004ac01033c0f8eb4f36e"
212214
end
213215

216+
resource "pyobjc-core" do
217+
url "https://files.pythonhosted.org/packages/ab/dc/6d63019133e39e2b299dfbab786e64997fff0f145c45a417e1dd51faaf3f/pyobjc_core-12.0.tar.gz"
218+
sha256 "7e05c805a776149a937b61b892a0459895d32d9002bedc95ce2be31ef1e37a29"
219+
end
220+
221+
resource "pyobjc-framework-cocoa" do
222+
url "https://files.pythonhosted.org/packages/37/6f/89837da349fe7de6476c426f118096b147de923139556d98af1832c64b97/pyobjc_framework_cocoa-12.0.tar.gz"
223+
sha256 "02d69305b698015a20fcc8e1296e1528e413d8cf9fdcd590478d359386d76e8a"
224+
end
225+
226+
resource "pyobjc-framework-localauthentication" do
227+
url "https://files.pythonhosted.org/packages/08/20/6744b25940d9462e0410cadd6da2e25ea3c01e6067a1234d8092ae0a40fa/pyobjc_framework_localauthentication-12.0.tar.gz"
228+
sha256 "6287b671d4e418419d8d5b2244616d72f346f6b8a8bc18d9a6bccb93a291091c"
229+
end
230+
231+
resource "pyobjc-framework-security" do
232+
url "https://files.pythonhosted.org/packages/cb/d6/ab109af82a65d52ab829010013b5a24b829c9155bc9608ebc80a43b8797c/pyobjc_framework_security-12.0.tar.gz"
233+
sha256 "d64d069da79fbf1dadbc091717604843b9d5be96670f7b40bc9a08df12b4045b"
234+
end
235+
214236
resource "pyperclip" do
215237
url "https://files.pythonhosted.org/packages/e8/52/d87eba7cb129b81563019d1679026e7a112ef76855d6159d24754dbd2a51/pyperclip-1.11.0.tar.gz"
216238
sha256 "244035963e4428530d9e3a6101a1ef97209c6825edab1567beac148ccc1db1b6"
@@ -241,11 +263,6 @@ class KeeperCommander < Formula
241263
sha256 "0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c"
242264
end
243265

244-
resource "typing-extensions" do
245-
url "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz"
246-
sha256 "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466"
247-
end
248-
249266
resource "typing-inspection" do
250267
url "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz"
251268
sha256 "ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464"
@@ -272,8 +289,8 @@ class KeeperCommander < Formula
272289
end
273290

274291
resource "wrapt" do
275-
url "https://files.pythonhosted.org/packages/95/8f/aeb76c5b46e273670962298c23e7ddde79916cb74db802131d49a85e4b7d/wrapt-1.17.3.tar.gz"
276-
sha256 "f66eb08feaa410fe4eebd17f2a2c8e2e46d3476e9f8c783daa8e09e0faa666d0"
292+
url "https://files.pythonhosted.org/packages/49/19/5e5bcd855d808892fe02d49219f97a50f64cd6d8313d75df3494ee97b1a3/wrapt-2.0.0.tar.gz"
293+
sha256 "35a542cc7a962331d0279735c30995b024e852cf40481e384fd63caaa391cbb9"
277294
end
278295

279296
resource "zipp" do
@@ -282,7 +299,19 @@ class KeeperCommander < Formula
282299
end
283300

284301
def install
285-
venv = virtualenv_install_with_resources without: "keeper-pam-webrtc-rs"
302+
without = %w[keeper-pam-webrtc-rs]
303+
304+
if OS.mac?
305+
# Help `pyobjc-framework-cocoa` pick correct SDK after removing -isysroot from Python formula
306+
ENV.append_to_cflags "-isysroot #{MacOS.sdk_path}"
307+
# pyobjc-core uses "-fdisable-block-signature-string" introduced in clang 17
308+
ENV.llvm_clang if DevelopmentTools.clang_build_version <= 1699
309+
else
310+
# `pyobjc-*` dependencies are only needed on macOS
311+
without += resources.filter_map { |r| r.name if r.name.start_with?("pyobjc") }
312+
end
313+
314+
venv = virtualenv_install_with_resources(without:)
286315

287316
# Workaround for `Caused by: Failed to read readme specified in pyproject.toml`
288317
resource("keeper-pam-webrtc-rs").stage do

0 commit comments

Comments
 (0)