diff --git a/pkgs/development/python-modules/sqlalchemy/1_3.nix b/pkgs/development/python-modules/sqlalchemy/1_3.nix new file mode 100644 index 000000000000..19f181bae1cb --- /dev/null +++ b/pkgs/development/python-modules/sqlalchemy/1_3.nix @@ -0,0 +1,84 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies + greenlet, + + # optionals + cx-oracle, + mysqlclient, + pg8000, + psycopg2, + psycopg2cffi, + # TODO: pymssql + pymysql, + pyodbc, + + # tests + mock, + pytest-xdist, + pytestCheckHook, +}: + +buildPythonPackage (finalAttrs: { + pname = "sqlalchemy"; + version = "1.3.24"; + pyproject = true; + + src = fetchFromGitHub { + owner = "sqlalchemy"; + repo = "sqlalchemy"; + tag = "rel_${lib.replaceStrings [ "." ] [ "_" ] finalAttrs.version}"; + hash = "sha256-6qAjyqMVrugABHssAQuql3z1YHTAOSm5hARJuJXJJvo="; + }; + + postPatch = '' + sed -i '/tag_build = dev/d' setup.cfg + ''; + + build-system = [ setuptools ]; + + dependencies = [ greenlet ]; + + optional-dependencies = lib.fix (self: { + mssql = [ pyodbc ]; + mssql_pymysql = [ + # TODO: pymssql + ]; + mssql_pyodbc = [ pyodbc ]; + mysql = [ mysqlclient ]; + oracle = [ cx-oracle ]; + postgresql = [ psycopg2 ]; + postgresql_pg8000 = [ pg8000 ]; + postgresql_psycopg2binary = [ psycopg2 ]; + postgresql_psycopg2cffi = [ psycopg2cffi ]; + pymysql = [ pymysql ]; + }); + + nativeCheckInputs = [ + pytest-xdist + pytestCheckHook + mock + ]; + + disabledTestPaths = [ + # typing correctness, not interesting + "test/ext/mypy" + # slow and high memory usage, not interesting + "test/aaa_profiling" + ]; + + pythonImportsCheck = [ "sqlalchemy" ]; + + meta = { + changelog = "https://github.com/sqlalchemy/sqlalchemy/releases/tag/${finalAttrs.src.tag})"; + description = "Database Toolkit for Python"; + homepage = "https://github.com/sqlalchemy/sqlalchemy"; + license = lib.licenses.mit; + }; +}) diff --git a/pkgs/development/python-modules/sqlalchemy/default.nix b/pkgs/development/python-modules/sqlalchemy/default.nix index f3f8e36d3e29..5a817d0d909f 100644 --- a/pkgs/development/python-modules/sqlalchemy/default.nix +++ b/pkgs/development/python-modules/sqlalchemy/default.nix @@ -41,16 +41,16 @@ pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "sqlalchemy"; - version = "2.0.46"; + version = "2.0.47"; pyproject = true; src = fetchFromGitHub { owner = "sqlalchemy"; repo = "sqlalchemy"; - tag = "rel_${lib.replaceStrings [ "." ] [ "_" ] version}"; - hash = "sha256-R0d8ipiaj7IL6mHV4c1Kyd6hV+kn5NhZexruRQsyL8c="; + tag = "rel_${lib.replaceStrings [ "." ] [ "_" ] finalAttrs.version}"; + hash = "sha256-YtOun5R+4+NdEUacOCLFf3raFKTuTpu7kxywrfSG2s0="; }; postPatch = '' @@ -115,11 +115,9 @@ buildPythonPackage rec { }; meta = { - changelog = "https://github.com/sqlalchemy/sqlalchemy/releases/tag/rel_${ - builtins.replaceStrings [ "." ] [ "_" ] version - }"; + changelog = "https://github.com/sqlalchemy/sqlalchemy/releases/tag/${finalAttrs.src.tag}"; description = "Python SQL toolkit and Object Relational Mapper"; homepage = "http://www.sqlalchemy.org/"; license = lib.licenses.mit; }; -} +}) diff --git a/pkgs/servers/web-apps/szurubooru/server.nix b/pkgs/servers/web-apps/szurubooru/server.nix index 910b9fc6a538..575ccc977009 100644 --- a/pkgs/servers/web-apps/szurubooru/server.nix +++ b/pkgs/servers/web-apps/szurubooru/server.nix @@ -21,17 +21,6 @@ let }; doCheck = false; }); - - sqlalchemy = super.sqlalchemy.overridePythonAttrs (oldAttrs: rec { - version = "1.3.23"; - src = fetchPypi { - pname = "SQLAlchemy"; - inherit version; - sha256 = "sha256-b8ozZyV4Zm9lfBMVUsTviXnBYG5JT3jNUZl0LfsmkYs="; - }; - - doCheck = false; - }); }) ]; @@ -65,7 +54,7 @@ python.pkgs.buildPythonApplication { pyrfc3339 pytz pyyaml - sqlalchemy + sqlalchemy_1_3 yt-dlp ]; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 1dbbac7c9d5b..c6d896a2e345 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -18178,6 +18178,8 @@ self: super: with self; { sqlalchemy-utils = callPackage ../development/python-modules/sqlalchemy-utils { }; + sqlalchemy_1_3 = callPackage ../development/python-modules/sqlalchemy/1_3.nix { }; + sqlalchemy_1_4 = callPackage ../development/python-modules/sqlalchemy/1_4.nix { }; sqlcipher3 = callPackage ../development/python-modules/sqlcipher3 { };