lol

s3ql: 5.2.3 -> 5.3.0

Changelog: https://github.com/s3ql/s3ql/releases/tag/s3ql-5.3.0

We patch out all the discovery logic in the build script now.

+108 -12
+68
pkgs/by-name/s3/s3ql/0001-setup.py-remove-self-reference.patch
···
··· 1 + From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 + From: Philip Taron <philip.taron@gmail.com> 3 + Date: Wed, 11 Jun 2025 10:41:42 -0700 4 + Subject: [PATCH] setup.py: remove self-reference and DEVELOPER_MODE 5 + 6 + Signed-off-by: Philip Taron <philip.taron@gmail.com> 7 + --- 8 + setup.py | 33 ++------------------------------- 9 + 1 file changed, 2 insertions(+), 31 deletions(-) 10 + 11 + diff --git a/setup.py b/setup.py 12 + index 00f6e9b120525d63fbc17949b2804785f1286118..b5582bcc366148d9c0a442abade65a6127ef2d3c 100755 13 + --- a/setup.py 14 + +++ b/setup.py 15 + @@ -26,15 +26,7 @@ from setuptools.command.test import test as TestCommand 16 + 17 + faulthandler.enable() 18 + 19 + -basedir = os.path.abspath(os.path.dirname(sys.argv[0])) 20 + -DEVELOPER_MODE = os.path.exists(os.path.join(basedir, 'MANIFEST.in')) 21 + -if DEVELOPER_MODE: 22 + - print('MANIFEST.in exists, running in developer mode') 23 + - 24 + -# Add S3QL sources 25 + -sys.path.insert(0, os.path.join(basedir, 'src')) 26 + -sys.path.insert(0, os.path.join(basedir, 'util')) 27 + -import s3ql 28 + +basedir = "/build/source" 29 + 30 + 31 + class pytest(TestCommand): 32 + @@ -52,27 +44,6 @@ def main(): 33 + 34 + compile_args = ['-Wall', '-Wextra', '-Wconversion', '-Wsign-compare'] 35 + 36 + - # Enable all fatal warnings only when compiling from Mercurial tip. 37 + - # (otherwise we break forward compatibility because compilation with newer 38 + - # compiler may fail if additional warnings are added) 39 + - if DEVELOPER_MODE: 40 + - if os.environ.get('CI') != 'true': 41 + - compile_args.append('-Werror') 42 + - 43 + - # Value-changing conversions should always be explicit. 44 + - compile_args.append('-Werror=conversion') 45 + - 46 + - # Note that (i > -1) is false if i is unsigned (-1 will be converted to 47 + - # a large positive value). We certainly don't want to do this by 48 + - # accident. 49 + - compile_args.append('-Werror=sign-compare') 50 + - 51 + - # These warnings have always been harmless, and have always been due to 52 + - # issues in Cython code rather than S3QL. Cython itself warns if there 53 + - # are unused variables in .pyx code. 54 + - compile_args.append('-Wno-unused-parameter') 55 + - compile_args.append('-Wno-unused-function') 56 + - 57 + required_pkgs = [ 58 + 'apsw >= 3.42.0', # https://github.com/rogerbinns/apsw/issues/459 59 + 'cryptography', 60 + @@ -88,7 +59,7 @@ def main(): 61 + setuptools.setup( 62 + name='s3ql', 63 + zip_safe=False, 64 + - version=s3ql.VERSION, 65 + + version="@version@", 66 + description='a full-featured file system for online data storage', 67 + long_description=long_desc, 68 + author='Nikolaus Rath',
+40 -12
pkgs/by-name/s3/s3ql/package.nix
··· 2 lib, 3 fetchFromGitHub, 4 python3, 5 sqlite, 6 which, 7 nix-update-script, 8 }: 9 10 - python3.pkgs.buildPythonApplication rec { 11 pname = "s3ql"; 12 - version = "5.2.3"; 13 pyproject = true; 14 15 src = fetchFromGitHub { 16 owner = "s3ql"; 17 repo = "s3ql"; 18 tag = "s3ql-${version}"; 19 - hash = "sha256-hNqKLpJd0vj96Jx4YnqYsPLq/iTbvmtvjyLrYozaxpk="; 20 }; 21 22 - build-system = with python3.pkgs; [ setuptools ]; 23 24 - nativeBuildInputs = [ which ] ++ (with python3.pkgs; [ cython ]); 25 26 - propagatedBuildInputs = with python3.pkgs; [ 27 apsw 28 cryptography 29 defusedxml ··· 35 trio 36 ]; 37 38 - nativeCheckInputs = with python3.pkgs; [ 39 pytest-trio 40 pytestCheckHook 41 ]; 42 43 preBuild = '' 44 - ${python3.pkgs.python.pythonOnBuildForHost.interpreter} ./setup.py build_cython build_ext --inplace 45 - ''; 46 - 47 - preCheck = '' 48 - export HOME=$(mktemp -d) 49 ''; 50 51 pythonImportsCheck = [ "s3ql" ]; 52 53 pytestFlagsArray = [ "tests/" ]; 54 55 passthru.updateScript = nix-update-script { 56 extraArgs = [
··· 2 lib, 3 fetchFromGitHub, 4 python3, 5 + replaceVars, 6 sqlite, 7 which, 8 nix-update-script, 9 + writableTmpDirAsHomeHook, 10 }: 11 12 + let 13 + inherit (python3.pkgs) 14 + buildPythonApplication 15 + setuptools 16 + cython 17 + apsw 18 + cryptography 19 + defusedxml 20 + google-auth 21 + google-auth-oauthlib 22 + pyfuse3 23 + requests 24 + trio 25 + pytest-trio 26 + pytestCheckHook 27 + python 28 + ; 29 + in 30 + 31 + buildPythonApplication rec { 32 pname = "s3ql"; 33 + version = "5.3.0"; 34 pyproject = true; 35 36 src = fetchFromGitHub { 37 owner = "s3ql"; 38 repo = "s3ql"; 39 tag = "s3ql-${version}"; 40 + hash = "sha256-SVB+VB508hGXvdHZo5lt09yssjjwHS1tsDU8M4j+swc="; 41 }; 42 43 + patches = [ 44 + (replaceVars ./0001-setup.py-remove-self-reference.patch { inherit version; }) 45 + ]; 46 + 47 + build-system = [ setuptools ]; 48 49 + nativeBuildInputs = [ 50 + which 51 + cython 52 + ]; 53 54 + dependencies = [ 55 apsw 56 cryptography 57 defusedxml ··· 63 trio 64 ]; 65 66 + nativeCheckInputs = [ 67 pytest-trio 68 pytestCheckHook 69 + writableTmpDirAsHomeHook 70 ]; 71 72 preBuild = '' 73 + ${python.pythonOnBuildForHost.interpreter} ./setup.py build_cython build_ext --inplace 74 ''; 75 76 pythonImportsCheck = [ "s3ql" ]; 77 78 pytestFlagsArray = [ "tests/" ]; 79 + 80 + # SSL EOF error doesn't match connection reset error. Seems fine. 81 + disabledTests = [ "test_aborted_write2" ]; 82 83 passthru.updateScript = nix-update-script { 84 extraArgs = [