diff --git a/pkgs/tools/misc/sqlite3-to-mysql/default.nix b/pkgs/tools/misc/sqlite3-to-mysql/default.nix index 176f97275f42..0a3806415bf7 100644 --- a/pkgs/tools/misc/sqlite3-to-mysql/default.nix +++ b/pkgs/tools/misc/sqlite3-to-mysql/default.nix @@ -1,22 +1,47 @@ { lib , fetchFromGitHub -, python3Packages +, python3 , nixosTests +, testers +, sqlite3-to-mysql +, fetchPypi }: -python3Packages.buildPythonApplication rec { +let + py = python3.override { + packageOverrides = self: super: { + # sqlite3-to-mysql is incompatible with versions > 1.4.44 of sqlalchemy + sqlalchemy = super.sqlalchemy.overridePythonAttrs (oldAttrs: rec { + version = "1.4.44"; + format = "setuptools"; + src = fetchPypi { + pname = "SQLAlchemy"; + inherit version; + hash = "sha256-LdpflnGa6Js+wPG3lpjYbrmuyx1U6ZCrs/3ZLAS0apA="; + }; + }); + }; + self = py; + }; + +in +with py.pkgs; buildPythonApplication rec { pname = "sqlite3-to-mysql"; - version = "1.4.16"; - format = "setuptools"; + version = "1.4.19"; + format = "pyproject"; src = fetchFromGitHub { owner = "techouse"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-Fxt1zOyEnBuMkCLCABfijo0514NbFocdsjrQU43qVhY="; + hash = "sha256-gtXwDLHl5f1sXLm+b8l08bY/XJkN+zVtd7m45K0CAYY="; }; - propagatedBuildInputs = with python3Packages; [ + nativeBuildInputs = [ + setuptools + ]; + + propagatedBuildInputs = [ click mysql-connector pytimeparse @@ -38,9 +63,12 @@ python3Packages.buildPythonApplication rec { # run package tests as a separate nixos test passthru.tests = { nixosTest = nixosTests.sqlite3-to-mysql; + version = testers.testVersion { + package = sqlite3-to-mysql; + command = "sqlite3mysql --version"; + }; }; - meta = with lib; { description = "A simple Python tool to transfer data from SQLite 3 to MySQL"; homepage = "https://github.com/techouse/sqlite3-to-mysql";