Skip to content

Commit e611429

Browse files
committed
charm-tools: migrate to [email protected]
1 parent 5c25239 commit e611429

File tree

2 files changed

+42
-36
lines changed

2 files changed

+42
-36
lines changed

Formula/c/charm-tools.rb

Lines changed: 40 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,17 @@ class CharmTools < Formula
2323
depends_on "charm"
2424
depends_on "cryptography"
2525
depends_on "libyaml"
26-
depends_on "python@3.13"
26+
depends_on "python@3.14"
2727

2828
on_linux do
2929
depends_on "gmp"
3030
end
3131

32+
# `ruamel-yaml` is manually updated to support Python 3.14
33+
3234
resource "attrs" do
33-
url "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz"
34-
sha256 "75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b"
35+
url "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz"
36+
sha256 "16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11"
3537
end
3638

3739
resource "blessings" do
@@ -40,39 +42,38 @@ class CharmTools < Formula
4042
end
4143

4244
resource "charset-normalizer" do
43-
url "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz"
44-
sha256 "5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63"
45-
end
46-
47-
# missing pypi sdist issue, https://github.com/CheetahTemplate3/cheetah3/issues/69
48-
resource "cheetah3" do
49-
url "https://github.com/CheetahTemplate3/cheetah3/archive/refs/tags/3.4.0.tar.gz"
50-
sha256 "0f1fb60c0df8acec48561ba561d023b55498bd04e7b3763d4ca14adaf3d62405"
45+
url "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz"
46+
sha256 "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a"
5147
end
5248

5349
resource "colander" do
5450
url "https://files.pythonhosted.org/packages/fa/3c/592bbb25f6199234167d713c220044473e2e57906d7ad7a34e13b7dc1144/colander-1.8.3.tar.gz"
5551
sha256 "259592a0d6a89cbe63c0c5771f9c0c2522387415af8d715f599583eac659f7d4"
5652
end
5753

54+
resource "ct3" do
55+
url "https://files.pythonhosted.org/packages/a4/61/aa8c457288d06dd160e495b9ede433ba847a29cac41d6dfe56746720acff/ct3-3.4.0.tar.gz"
56+
sha256 "ddc493b775b02b09737b1fb628a973dbe9aa91d694045a6764a8e3f5296fa1eb"
57+
end
58+
5859
resource "dict2colander" do
5960
url "https://files.pythonhosted.org/packages/aa/7e/5ed2ba3dc2f06457b76d4bc8c93559179472bf87e6982f9a9e5cea30e84e/dict2colander-0.2.tar.gz"
6061
sha256 "6f668d60896991dcd271465b755f00ffd6f87f81e0d4d054be62a16c086978c7"
6162
end
6263

6364
resource "distlib" do
64-
url "https://files.pythonhosted.org/packages/0d/dd/1bec4c5ddb504ca60fc29472f3d27e8d4da1257a854e1d96742f15c1d02d/distlib-0.3.9.tar.gz"
65-
sha256 "a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403"
65+
url "https://files.pythonhosted.org/packages/96/8e/709914eb2b5749865801041647dc7f4e6d00b549cfe88b65ca192995f07c/distlib-0.4.0.tar.gz"
66+
sha256 "feec40075be03a04501a973d81f633735b4b69f98b05450592310c0f401a4e0d"
6667
end
6768

6869
resource "filelock" do
69-
url "https://files.pythonhosted.org/packages/0a/10/c23352565a6544bdc5353e0b15fc1c563352101f30e24bf500207a54df9a/filelock-3.18.0.tar.gz"
70-
sha256 "adbc88eabb99d2fec8c9c1b229b171f18afa655400173ddc653d5d01501fb9f2"
70+
url "https://files.pythonhosted.org/packages/58/46/0028a82567109b5ef6e4d2a1f04a583fb513e6cf9527fcdd09afd817deeb/filelock-3.20.0.tar.gz"
71+
sha256 "711e943b4ec6be42e1d4e6690b48dc175c822967466bb31c0c293f34334c13f4"
7172
end
7273

7374
resource "idna" do
74-
url "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz"
75-
sha256 "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"
75+
url "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz"
76+
sha256 "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902"
7677
end
7778

7879
resource "iso8601" do
@@ -106,8 +107,8 @@ class CharmTools < Formula
106107
end
107108

108109
resource "more-itertools" do
109-
url "https://files.pythonhosted.org/packages/ce/a0/834b0cebabbfc7e311f30b46c8188790a37f89fc8d756660346fe5abfd09/more_itertools-10.7.0.tar.gz"
110-
sha256 "9fddd5403be01a94b204faadcff459ec3568cf110265d3c54323e1e866ad29d3"
110+
url "https://files.pythonhosted.org/packages/ea/5d/38b681d3fce7a266dd9ab73c66959406d565b3e85f21d5e66e1181d93721/more_itertools-10.8.0.tar.gz"
111+
sha256 "f638ddf8a1a0d134181275fb5d58b086ead7c6a72429ad725c67503f13ba30bd"
111112
end
112113

113114
resource "otherstuf" do
@@ -131,8 +132,8 @@ class CharmTools < Formula
131132
end
132133

133134
resource "platformdirs" do
134-
url "https://files.pythonhosted.org/packages/fe/8b/3c73abc9c759ecd3f1f7ceff6685840859e8070c4d947c93fae71f6a0bf2/platformdirs-4.3.8.tar.gz"
135-
sha256 "3d512d96e16bcb959a814c9f348431070822a6496326a4be0911c40b5a74c2bc"
135+
url "https://files.pythonhosted.org/packages/61/33/9611380c2bdb1225fdef633e2a9610622310fed35ab11dac9620972ee088/platformdirs-4.5.0.tar.gz"
136+
sha256 "70ddccdd7c99fc5942e9fc25636a8b34d04c24b335100223152c2803e4063312"
136137
end
137138

138139
resource "pyrsistent" do
@@ -141,13 +142,13 @@ class CharmTools < Formula
141142
end
142143

143144
resource "pyyaml" do
144-
url "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz"
145-
sha256 "d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"
145+
url "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz"
146+
sha256 "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f"
146147
end
147148

148149
resource "requests" do
149-
url "https://files.pythonhosted.org/packages/e1/0a/929373653770d8a0d7ea76c37de6e41f11eb07559b103b1c02cafb3f7cf8/requests-2.32.4.tar.gz"
150-
sha256 "27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422"
150+
url "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz"
151+
sha256 "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf"
151152
end
152153

153154
resource "requirements-parser" do
@@ -156,8 +157,8 @@ class CharmTools < Formula
156157
end
157158

158159
resource "ruamel-yaml" do
159-
url "https://files.pythonhosted.org/packages/d1/d6/eb2833ccba5ea36f8f4de4bcfa0d1a91eb618f832d430b70e3086821f251/ruamel.yaml-0.17.40.tar.gz"
160-
sha256 "6024b986f06765d482b5b07e086cc4b4cd05dd22ddcbc758fa23d54873cf313d"
160+
url "https://files.pythonhosted.org/packages/3e/db/f3950f5e5031b618aae9f423a39bf81a55c148aecd15a34527898e752cf4/ruamel.yaml-0.18.15.tar.gz"
161+
sha256 "dbfca74b018c4c3fba0b9cc9ee33e53c371194a9000e694995e620490fd40700"
161162
end
162163

163164
resource "secretstorage" do
@@ -176,8 +177,8 @@ class CharmTools < Formula
176177
end
177178

178179
resource "stuf" do
179-
url "https://files.pythonhosted.org/packages/f0/d6/6779cb5874630c21845d345306f60a7a5ecd9263fa09f85df745c54e3356/stuf-0.9.16.tar.gz"
180-
sha256 "080a88b940ca844474c239cc7aab0c530187e637a9dc6df111a99e2955bb35db"
180+
url "https://files.pythonhosted.org/packages/76/62/171e06b6d2d3072ea333de19632c61a44f83199e20cbf4924d12827cf66a/stuf-0.9.16.tar.bz2"
181+
sha256 "e61d64a2180c19111e129d36bfae66a0cb9392e1045827d6495db4ac9cb549b0"
181182
end
182183

183184
resource "translationstring" do
@@ -186,8 +187,8 @@ class CharmTools < Formula
186187
end
187188

188189
resource "types-setuptools" do
189-
url "https://files.pythonhosted.org/packages/79/66/1b276526aad4696a9519919e637801f2c103419d2c248a6feb2729e034d1/types_setuptools-80.9.0.20250529.tar.gz"
190-
sha256 "79e088ba0cba2186c8d6499cbd3e143abb142d28a44b042c28d3148b1e353c91"
190+
url "https://files.pythonhosted.org/packages/19/bd/1e5f949b7cb740c9f0feaac430e301b8f1c5f11a81e26324299ea671a237/types_setuptools-80.9.0.20250822.tar.gz"
191+
sha256 "070ea7716968ec67a84c7f7768d9952ff24d28b65b6594797a464f1b3066f965"
191192
end
192193

193194
resource "urllib3" do
@@ -201,13 +202,17 @@ class CharmTools < Formula
201202
end
202203

203204
resource "virtualenv" do
204-
url "https://files.pythonhosted.org/packages/56/2c/444f465fb2c65f40c3a104fd0c495184c4f2336d65baf398e3c75d72ea94/virtualenv-20.31.2.tar.gz"
205-
sha256 "e10c0a9d02835e592521be48b332b6caee6887f332c111aa79a09b9e79efc2af"
205+
url "https://files.pythonhosted.org/packages/a4/d5/b0ccd381d55c8f45d46f77df6ae59fbc23d19e901e2d523395598e5f4c93/virtualenv-20.35.3.tar.gz"
206+
sha256 "4f1a845d131133bdff10590489610c98c168ff99dc75d6c96853801f7f67af44"
206207
end
207208

208209
def install
209-
venv = virtualenv_install_with_resources without: "cheetah3"
210-
resource("cheetah3").stage do
210+
# Unpin ruamel.yaml to support Python 3.14
211+
# PR ref for 3.13: https://github.com/juju/charm-tools/pull/685
212+
inreplace "setup.py", "ruamel.yaml<0.18", "ruamel.yaml<0.19"
213+
214+
venv = virtualenv_install_with_resources without: "ct3"
215+
resource("ct3").stage do
211216
# Package was renamed due to PyPI 2FA requirement and charm-tools use of
212217
# `pkg_resources` raises an exception on missing requirement
213218
# https://github.com/CheetahTemplate3/cheetah3/commit/673259b2d139b4ea970b1c2da12607b7ac39cbec

pypi_formula_mappings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,8 @@
197197
"exclude_packages": ["pycparser"]
198198
},
199199
"charm-tools": {
200-
"exclude_packages": ["certifi", "cryptography"]
200+
"exclude_packages": ["cheetah3", "certifi", "cryptography"],
201+
"extra_packages": ["ct3"]
201202
},
202203
"charmcraft": {
203204
"extra_packages": ["jeepney", "secretstorage"],

0 commit comments

Comments
 (0)