@@ -3,12 +3,9 @@ class S3ql < Formula
33
44 desc "POSIX-compliant FUSE filesystem using object store as block storage"
55 homepage "https://github.com/s3ql/s3ql"
6- # TODO: Try to remove `cython` and corresponding build_cython in the next release.
7- # check if `python3 setup.py build_cython` is still needed in https://github.com/s3ql/s3ql/blob/master/.github/workflows/pr-ci.yml#L34
8- url "https://github.com/s3ql/s3ql/releases/download/s3ql-5.2.3/s3ql-5.2.3.tar.gz"
9- sha256 "892acf8a479fc837256100d820408bc5e2c27c0ba9ee2b5f8aa114d593b5af87"
6+ url "https://github.com/s3ql/s3ql/releases/download/s3ql-5.3.0/s3ql-5.3.0.tar.gz"
7+ sha256 "f16e3aa218de86a7ec48002bbcb75c857f72f63d86e5e3c891b31a78c138d13c"
108 license "GPL-3.0-only"
11- revision 1
129
1310 livecheck do
1411 url :stable
@@ -20,19 +17,17 @@ class S3ql < Formula
2017 sha256 cellar : :any_skip_relocation , x86_64_linux : "ff2f720afc9d4216f721454f97a5f4fe133ee503b0d3167d3f2012a33ae84a4d"
2118 end
2219
23- depends_on "cython" => :build
2420 depends_on "pkgconf" => :build
2521
2622 depends_on "cryptography"
2723 depends_on "libffi"
2824 depends_on "libfuse"
2925 depends_on :linux # on macOS, requires closed-source macFUSE
30- depends_on "openssl@3"
31263227
3328 resource "apsw" do
34- url "https://files.pythonhosted.org/packages/2e/9f/29be0326b2178cfe10d6d45de83163c70cd0b4985502f398fe32791943e2 /apsw-3.46.1 .0.tar.gz"
35- sha256 "96e3dfad1fd0cc77a778aa6b27468292041a8e9cb1f2dcf06bd773762c9b0c0c "
29+ url "https://files.pythonhosted.org/packages/5b/c4/fcac432cb1aea5a1e7611e2ae927352232aec5c1546f10dece754279c4b9 /apsw-3.49.2 .0.tar.gz"
30+ sha256 "04280710d01f918b96ec9067111b57ee70780388bbf83fd33fc15c43e82afd51 "
3631 end
3732
3833 resource "async-generator" do
@@ -41,8 +36,8 @@ class S3ql < Formula
4136 end
4237
4338 resource "attrs" do
44- url "https://files.pythonhosted.org/packages/fc/0f/aafca9af9315aee06a89ffde799a10a582fe8de76c563ee80bbcdc08b3fb /attrs-24.2 .0.tar.gz"
45- sha256 "5cfb1b9148b5b086569baec03f20d7b6bf3bcacc9a42bebf87ffaaca362f6346 "
39+ url "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24 /attrs-25.3 .0.tar.gz"
40+ sha256 "75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b "
4641 end
4742
4843 resource "cffi" do
@@ -61,13 +56,13 @@ class S3ql < Formula
6156 end
6257
6358 resource "google-auth" do
64- url "https://files.pythonhosted.org/packages/a1/37/c854a8b1b1020cf042db3d67577c6f84cd1e8ff6515e4f5498ae9e444ea5 /google_auth-2.35 .0.tar.gz"
65- sha256 "f4c64ed4e01e8e8b646ef34c018f8bf3338df0c8e37d8b3bba40e7f574a3278a "
59+ url "https://files.pythonhosted.org/packages/cb/8e/8f45c9a32f73e786e954b8f9761c61422955d23c45d1e8c347f9b4b59e8e /google_auth-2.39 .0.tar.gz"
60+ sha256 "73222d43cdc35a3aeacbfdcaf73142a97839f10de930550d89ebfe1d0a00cde7 "
6661 end
6762
6863 resource "google-auth-oauthlib" do
69- url "https://files.pythonhosted.org/packages/cc/0f/1772edb8d75ecf6280f1c7f51cbcebe274e8b17878b382f63738fd96cee5 /google_auth_oauthlib-1.2.1 .tar.gz"
70- sha256 "afd0cad092a2eaa53cd8e8298557d6de1034c6cb4a740500b5357b648af97263 "
64+ url "https://files.pythonhosted.org/packages/fb/87/e10bf24f7bcffc1421b84d6f9c3377c30ec305d082cd737ddaa6d8f77f7c /google_auth_oauthlib-1.2.2 .tar.gz"
65+ sha256 "11046fb8d3348b296302dd939ace8af0a724042e8029c1b872d87fabc9f41684 "
7166 end
7267
7368 resource "idna" do
@@ -91,18 +86,18 @@ class S3ql < Formula
9186 end
9287
9388 resource "setuptools" do
94- url "https://files.pythonhosted.org/packages/8d/e6/2fc95aec377988ff3ca882aa58d4f6ab35ff59a12b1611a9fe3075eb3019 /setuptools-70.2.0 .tar.gz"
95- sha256 "bd63e505105011b25c3c11f753f7e3b8465ea739efddaccef8f0efac2137bac1 "
89+ url "https://files.pythonhosted.org/packages/70/dc/3976b322de9d2e87ed0007cf04cc7553969b6c7b3f48a565d0333748fbcd /setuptools-80.3.1 .tar.gz"
90+ sha256 "31e2c58dbb67c99c289f51c16d899afedae292b978f8051efaf6262d8212f927 "
9691 end
9792
9893 resource "trio" do
99- url "https://files.pythonhosted.org/packages/9a/03/ab0e9509be0c6465e2773768ec25ee0cb8053c0b91471ab3854bbf2294b2 /trio-0.26.2 .tar.gz"
100- sha256 "0346c3852c15e5c7d40ea15972c4805689ef2cb8b5206f794c9c19450119f3a4 "
94+ url "https://files.pythonhosted.org/packages/01/c1/68d582b4d3a1c1f8118e18042464bb12a7c1b75d64d75111b297687041e3 /trio-0.30.0 .tar.gz"
95+ sha256 "0781c857c0c81f8f51e0089929a26b5bb63d57f927728a5586f7e36171f064df "
10196 end
10297
10398 resource "six" do
104- url "https://files.pythonhosted.org/packages/71/39/171f1c67cd00715f190ba0b100d606d440a28c93c7714febeca8b79af85e /six-1.16 .0.tar.gz"
105- sha256 "1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 "
99+ url "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2 /six-1.17 .0.tar.gz"
100+ sha256 "ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81 "
106101 end
107102
108103 resource "sniffio" do
@@ -115,27 +110,18 @@ class S3ql < Formula
115110 sha256 "25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88"
116111 end
117112
118- def install
119- # Ensure that the `openssl` crate picks up the intended library.
120- ENV [ "OPENSSL_DIR" ] = Formula [ "openssl@3" ] . opt_prefix
121- ENV [ "OPENSSL_NO_VENDOR" ] = "1"
122-
123- python3 = "python3.13"
124- venv = virtualenv_create ( libexec , python3 )
125- venv . pip_install resources
113+ # Fix incompatability with build isolation, since `setup.py` imports `s3ql`
114+ # Remove after https://github.com/s3ql/s3ql/pull/379
115+ patch :DATA
126116
117+ def install
127118 # The inreplace changes the name of the (fsck|mkfs|mount|umount).s3ql
128119 # utilities to use underscore (_) as a separator, which is consistent
129120 # with other tools on macOS.
130121 # Final names: fsck_s3ql, mkfs_s3ql, mount_s3ql, umount_s3ql
131- inreplace "setup.py " , /' (?:(mkfs|fsck|mount|umount)\. )s3ql =/ , "' \\ 1_s3ql ="
122+ inreplace "pyproject.toml " , /" (?:(mkfs|fsck|mount|umount)\. )s3ql" =/ , '" \\1_s3ql" ='
132123
133- # Regenerate Cython files for Python 3.13 support. Try to remove in next release.
134- ENV . prepend_path "PYTHONPATH" , Formula [ "cython" ] . opt_libexec /Language ::Python . site_packages ( python3 )
135- system libexec /"bin/python3" , "setup.py" , "build_cython"
136-
137- system libexec /"bin/python3" , "setup.py" , "build_ext" , "--inplace"
138- venv . pip_install_and_link buildpath
124+ virtualenv_install_with_resources
139125 end
140126
141127 test do
@@ -147,3 +133,37 @@ def install
147133 system bin /"fsck_s3ql" , "local://#{ testpath } "
148134 end
149135end
136+
137+ __END__
138+ diff --git a/setup.py b/setup.py
139+ index 00f6e9b..2b0a101 100755
140+ --- a/setup.py
141+ +++ b/setup.py
142+ @@ -34,7 +34,6 @@ if DEVELOPER_MODE:
143+ # Add S3QL sources
144+ sys.path.insert(0, os.path.join(basedir, 'src'))
145+ sys.path.insert(0, os.path.join(basedir, 'util'))
146+ -import s3ql
147+
148+
149+ class pytest(TestCommand):
150+ @@ -47,9 +46,6 @@ class pytest(TestCommand):
151+
152+
153+ def main():
154+ - with open(os.path.join(basedir, 'README.rst'), 'r') as fh:
155+ - long_desc = fh.read()
156+ -
157+ compile_args = ['-Wall', '-Wextra', '-Wconversion', '-Wsign-compare']
158+
159+ # Enable all fatal warnings only when compiling from Mercurial tip.
160+ @@ -88,9 +84,7 @@ def main():
161+ setuptools.setup(
162+ name='s3ql',
163+ zip_safe=False,
164+ - version=s3ql.VERSION,
165+ description='a full-featured file system for online data storage',
166+ - long_description=long_desc,
167+ author='Nikolaus Rath',
168+ 169+ license='GPLv3',
0 commit comments