Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib 2, stdenv 3, buildPythonPackage 4, fetchPypi 5, fetchpatch 6, python 7, pythonAtLeast 8, scripttest 9, pytz 10, pbr 11, tempita 12, decorator 13, sqlalchemy 14, six 15, sqlparse 16, testrepository 17}: 18 19buildPythonPackage rec { 20 pname = "sqlalchemy-migrate"; 21 version = "0.13.0"; 22 23 # using deprecated inspect.getargspec function 24 # https://bugs.launchpad.net/sqlalchemy-migrate/+bug/2003619 25 disabled = pythonAtLeast "3.11"; 26 27 src = fetchPypi { 28 inherit pname version; 29 sha256 = "1y0lcqii7b4vp7yh9dyxrl4i77hi8jkkw7d06mgdw2h458ljxh0b"; 30 }; 31 32 # See: https://review.openstack.org/#/c/608382/ 33 patches = [ 34 (fetchpatch { 35 url = "https://github.com/openstack/sqlalchemy-migrate/pull/18.patch"; 36 sha256 = "1qyfq2m7w7xqf0r9bc2x42qcra4r9k9l9g1jy5j0fvlb6bvvjj07"; 37 }) 38 ]; 39 40 postPatch = '' 41 substituteInPlace test-requirements.txt \ 42 --replace "ibm_db_sa>=0.3.0;python_version<'3.0'" "" \ 43 --replace "ibm-db-sa-py3;python_version>='3.0'" "" \ 44 --replace "tempest-lib>=0.1.0" "" \ 45 --replace "testtools>=0.9.34,<0.9.36" "" \ 46 --replace "pylint" "" 47 ''; 48 49 nativeCheckInputs = [ scripttest pytz testrepository ]; 50 propagatedBuildInputs = [ pbr tempita decorator sqlalchemy six sqlparse ]; 51 52 doCheck = !stdenv.isDarwin; 53 54 checkPhase = '' 55 export PATH=$PATH:$out/bin 56 echo sqlite:///__tmp__ > test_db.cfg 57 # depends on ibm_db_sa 58 rm migrate/tests/changeset/databases/test_ibmdb2.py 59 # wants very old testtools 60 rm migrate/tests/versioning/test_schema.py 61 # transient failures on py27 62 substituteInPlace migrate/tests/versioning/test_util.py --replace "test_load_model" "noop" 63 ${python.interpreter} setup.py test 64 ''; 65 66 meta = with lib; { 67 homepage = "https://opendev.org/x/sqlalchemy-migrate"; 68 description = "Schema migration tools for SQLAlchemy"; 69 license = licenses.asl20; 70 maintainers = teams.openstack.members ++ (with maintainers; [ makefu ]); 71 broken = lib.versionAtLeast sqlalchemy.version "2.0.0"; 72 }; 73}