pythonPackages.sqlalchemy: follows upstream, sqlalchemy7 for lecagy

This makes pythonPackages.sqlalchemy the most up to date revision (it
was called sqlalchemy_1_0 before), and maintains the various “legacy”
versions available as pythonPackages.sqlalchemyX for X in {7,8,9}.

All derivations that required `sqlalchemy_1_0` now require `sqlalchemy`
while those that required `sqlalchemy` now require `sqlalchemy7`.

The derivations are not changed, only the attribute names they are
bound to.
This commit is contained in:
Lancelot SIX 2016-02-25 15:02:38 +01:00
parent e054644c2f
commit 0467a17858
8 changed files with 72 additions and 25 deletions

View File

@ -15,7 +15,7 @@ pythonPackages.buildPythonApplication rec {
# https://github.com/openstack/glance/blob/stable/liberty/requirements.txt # https://github.com/openstack/glance/blob/stable/liberty/requirements.txt
propagatedBuildInputs = with pythonPackages; [ propagatedBuildInputs = with pythonPackages; [
pbr sqlalchemy_1_0 anyjson eventlet PasteDeploy routes webob sqlalchemy_migrate pbr sqlalchemy anyjson eventlet PasteDeploy routes webob sqlalchemy_migrate
httplib2 pycrypto iso8601 stevedore futurist keystonemiddleware paste httplib2 pycrypto iso8601 stevedore futurist keystonemiddleware paste
jsonschema keystoneclient pyopenssl six retrying semantic-version qpid-python jsonschema keystoneclient pyopenssl six retrying semantic-version qpid-python
WSME osprofiler glance_store castellan taskflow cryptography xattr pysendfile WSME osprofiler glance_store castellan taskflow cryptography xattr pysendfile

View File

@ -18,7 +18,7 @@ pythonPackages.buildPythonApplication rec {
# https://github.com/openstack/keystone/blob/stable/liberty/requirements.txt # https://github.com/openstack/keystone/blob/stable/liberty/requirements.txt
propagatedBuildInputs = with pythonPackages; [ propagatedBuildInputs = with pythonPackages; [
pbr webob eventlet greenlet PasteDeploy paste routes cryptography six pbr webob eventlet greenlet PasteDeploy paste routes cryptography six
sqlalchemy_1_0 sqlalchemy_migrate stevedore passlib keystoneclient memcached sqlalchemy sqlalchemy_migrate stevedore passlib keystoneclient memcached
keystonemiddleware oauthlib pysaml2 dogpile_cache jsonschema pycadf msgpack keystonemiddleware oauthlib pysaml2 dogpile_cache jsonschema pycadf msgpack
xmlsec MySQL_python xmlsec MySQL_python

View File

@ -15,7 +15,7 @@ pythonPackages.buildPythonApplication rec {
# https://github.com/openstack/neutron/blob/stable/liberty/requirements.txt # https://github.com/openstack/neutron/blob/stable/liberty/requirements.txt
propagatedBuildInputs = with pythonPackages; [ propagatedBuildInputs = with pythonPackages; [
pbr paste PasteDeploy routes debtcollector eventlet greenlet httplib2 requests2 pbr paste PasteDeploy routes debtcollector eventlet greenlet httplib2 requests2
jinja2 keystonemiddleware netaddr retrying sqlalchemy_1_0 webob alembic six jinja2 keystonemiddleware netaddr retrying sqlalchemy webob alembic six
stevedore pecan ryu networking-hyperv MySQL_python stevedore pecan ryu networking-hyperv MySQL_python
# clients # clients

View File

@ -19,7 +19,7 @@ pythonPackages.buildPythonApplication rec {
# https://github.com/openstack/nova/blob/stable/liberty/requirements.txt # https://github.com/openstack/nova/blob/stable/liberty/requirements.txt
propagatedBuildInputs = with pythonPackages; [ propagatedBuildInputs = with pythonPackages; [
pbr sqlalchemy_1_0 boto decorator eventlet jinja2 lxml routes cryptography pbr sqlalchemy boto decorator eventlet jinja2 lxml routes cryptography
webob greenlet PasteDeploy paste prettytable sqlalchemy_migrate netaddr webob greenlet PasteDeploy paste prettytable sqlalchemy_migrate netaddr
netifaces paramiko Babel iso8601 jsonschema keystoneclient requests2 six netifaces paramiko Babel iso8601 jsonschema keystoneclient requests2 six
stevedore websockify rfc3986 os-brick psutil_1 alembic psycopg2 pymysql stevedore websockify rfc3986 os-brick psutil_1 alembic psycopg2 pymysql

View File

@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
}; };
pythonPath = with pythonPackages; pythonPath = with pythonPackages;
[ setuptools eventlet greenlet gflags netaddr sqlalchemy carrot routes [ setuptools eventlet greenlet gflags netaddr sqlalchemy7 carrot routes
PasteDeploy m2crypto ipy twisted sqlalchemy_migrate PasteDeploy m2crypto ipy twisted sqlalchemy_migrate
distutils_extra simplejson readline glanceclient cheetah lockfile httplib2 distutils_extra simplejson readline glanceclient cheetah lockfile httplib2
# !!! should libvirt be a build-time dependency? Note that # !!! should libvirt be a build-time dependency? Note that

View File

@ -1,5 +1,5 @@
{ stdenv, buildPythonApplication, fetchurl, twisted, dateutil, jinja2 { stdenv, buildPythonApplication, fetchurl, twisted, dateutil, jinja2
, sqlalchemy , sqlalchemy_migrate_0_7 , sqlalchemy_migrate_0_7
, enableDebugClient ? false, pygobject ? null, pyGtkGlade ? null , enableDebugClient ? false, pygobject ? null, pyGtkGlade ? null
}: }:

View File

@ -5724,7 +5724,7 @@ let
}; };
buildbot = callPackage ../development/tools/build-managers/buildbot { buildbot = callPackage ../development/tools/build-managers/buildbot {
inherit (pythonPackages) twisted jinja2 sqlalchemy sqlalchemy_migrate_0_7; inherit (pythonPackages) twisted jinja2 sqlalchemy_migrate_0_7;
dateutil = pythonPackages.dateutil_1_5; dateutil = pythonPackages.dateutil_1_5;
}; };

View File

@ -235,7 +235,7 @@ in modules // {
sha256 = "1ywimbisgb5g7xl9nrfwcm7dv3j8fsrjfp7bxb3l58zbsrzj6z2s"; sha256 = "1ywimbisgb5g7xl9nrfwcm7dv3j8fsrjfp7bxb3l58zbsrzj6z2s";
}; };
propagatedBuildInputs = with self; [ appdirs colorama dateutil requests2 requests_toolbelt sqlalchemy ]; propagatedBuildInputs = with self; [ appdirs colorama dateutil requests2 requests_toolbelt sqlalchemy7 ];
makeWrapperArgs = [ "--prefix LIBFUSE_PATH : ${pkgs.fuse}/lib/libfuse.so" ]; makeWrapperArgs = [ "--prefix LIBFUSE_PATH : ${pkgs.fuse}/lib/libfuse.so" ];
@ -457,7 +457,7 @@ in modules // {
}; };
buildInputs = with self; [ pytest pytestcov mock coverage ]; buildInputs = with self; [ pytest pytestcov mock coverage ];
propagatedBuildInputs = with self; [ Mako sqlalchemy_1_0 python-editor ]; propagatedBuildInputs = with self; [ Mako sqlalchemy python-editor ];
meta = { meta = {
homepage = http://bitbucket.org/zzzeek/alembic; homepage = http://bitbucket.org/zzzeek/alembic;
@ -1575,7 +1575,7 @@ in modules // {
}; };
buildInputs = buildInputs =
[ self.sqlalchemy [ self.sqlalchemy7
self.pycryptopp self.pycryptopp
self.nose self.nose
self.mock self.mock
@ -2101,7 +2101,7 @@ in modules // {
pymongo pymongo
pyyaml pyyaml
requests2 requests2
sqlalchemy_1_0 sqlalchemy
tables tables
toolz toolz
]; ];
@ -3188,7 +3188,7 @@ in modules // {
sed -i '/distribute/d' setup.py sed -i '/distribute/d' setup.py
''; '';
buildInputs = with self; [ self.coverage self.sqlalchemy ]; buildInputs = with self; [ self.coverage self.sqlalchemy7 ];
# ValueError: Could not parse auth file: # ValueError: Could not parse auth file:
# /tmp/nix-build-.../CoilMQ-0.6.1/coilmq/tests/resources/auth.ini # /tmp/nix-build-.../CoilMQ-0.6.1/coilmq/tests/resources/auth.ini
@ -7087,7 +7087,7 @@ in modules // {
propagatedBuildInputs = with self; [ propagatedBuildInputs = with self; [
flup flup
ldap ldap
sqlalchemy sqlalchemy7
]; ];
doCheck = true; doCheck = true;
@ -8894,7 +8894,7 @@ in modules // {
sha256 = "1i9ps5d5snih9xlqhrvmi3qfiygkmqzxh92n25kj4pf89kj4s965"; sha256 = "1i9ps5d5snih9xlqhrvmi3qfiygkmqzxh92n25kj4pf89kj4s965";
}; };
propagatedBuildInputs = with self ; [ flask sqlalchemy_1_0 ]; propagatedBuildInputs = with self ; [ flask sqlalchemy ];
meta = { meta = {
description = "SQLAlchemy extension for Flask"; description = "SQLAlchemy extension for Flask";
@ -13699,7 +13699,7 @@ in modules // {
}; };
propagatedBuildInputs = with self; [ propagatedBuildInputs = with self; [
six stevedore sqlalchemy_migrate sqlalchemy_1_0 oslo-utils oslo-context six stevedore sqlalchemy_migrate sqlalchemy oslo-utils oslo-context
oslo-config oslo-i18n iso8601 Babel alembic pbr psycopg2 oslo-config oslo-i18n iso8601 Babel alembic pbr psycopg2
]; ];
buildInputs = with self; [ buildInputs = with self; [
@ -13844,7 +13844,7 @@ in modules // {
singledispatch logutils singledispatch logutils
]; ];
buildInputs = with self; [ buildInputs = with self; [
webtest Mako genshi Kajiki sqlalchemy_1_0 gunicorn jinja2 virtualenv webtest Mako genshi Kajiki sqlalchemy gunicorn jinja2 virtualenv
]; ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
@ -14567,7 +14567,7 @@ in modules // {
pytz pytz
xlrd xlrd
bottleneck bottleneck
sqlalchemy_1_0 sqlalchemy
lxml lxml
# Disabling this because an upstream dependency, pep8, is broken on v3.5. # Disabling this because an upstream dependency, pep8, is broken on v3.5.
(if isPy35 then null else html5lib) (if isPy35 then null else html5lib)
@ -20132,7 +20132,7 @@ in modules // {
rope = if isPy3k then null else self.rope; rope = if isPy3k then null else self.rope;
}; };
sqlalchemy = self.sqlalchemy9.override rec { sqlalchemy7 = buildPythonPackage rec {
name = "SQLAlchemy-0.7.10"; name = "SQLAlchemy-0.7.10";
disabled = isPy34 || isPy35; disabled = isPy34 || isPy35;
doCheck = !isPyPy; doCheck = !isPyPy;
@ -20141,17 +20141,32 @@ in modules // {
url = "http://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz"; url = "http://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz";
sha256 = "0rhxgr85xdhjn467qfs0dkyj8x46zxcv6ad3dfx3w14xbkb3kakp"; sha256 = "0rhxgr85xdhjn467qfs0dkyj8x46zxcv6ad3dfx3w14xbkb3kakp";
}; };
patches = [ patches = [
# see https://groups.google.com/forum/#!searchin/sqlalchemy/module$20logging$20handlers/sqlalchemy/ukuGhmQ2p6g/2_dOpBEYdDYJ # see https://groups.google.com/forum/#!searchin/sqlalchemy/module$20logging$20handlers/sqlalchemy/ukuGhmQ2p6g/2_dOpBEYdDYJ
# waiting for 0.7.11 release # waiting for 0.7.11 release
../development/python-modules/sqlalchemy-0.7.10-test-failures.patch ../development/python-modules/sqlalchemy-0.7.10-test-failures.patch
]; ];
preConfigure = optionalString isPy3k '' preConfigure = optionalString isPy3k ''
python3 sa2to3.py --no-diffs -w lib test examples python3 sa2to3.py --no-diffs -w lib test examples
''; '';
buildInputs = with self; [ nose mock ]
++ stdenv.lib.optional doCheck pysqlite;
propagatedBuildInputs = with self; [ modules.sqlite3 ];
checkPhase = ''
${python.executable} sqla_nose.py
'';
meta = {
homepage = http://www.sqlalchemy.org/;
description = "A Python SQL toolkit and Object Relational Mapper";
};
}; };
sqlalchemy8 = self.sqlalchemy9.override rec { sqlalchemy8 = buildPythonPackage rec {
name = "SQLAlchemy-0.8.7"; name = "SQLAlchemy-0.8.7";
disabled = isPy34 || isPy35; disabled = isPy34 || isPy35;
doCheck = !isPyPy; doCheck = !isPyPy;
@ -20160,9 +20175,23 @@ in modules // {
url = "https://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz"; url = "https://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz";
md5 = "4f3377306309e46739696721b1785335"; md5 = "4f3377306309e46739696721b1785335";
}; };
preConfigure = optionalString isPy3k '' preConfigure = optionalString isPy3k ''
python3 sa2to3.py --no-diffs -w lib test examples python3 sa2to3.py --no-diffs -w lib test examples
''; '';
buildInputs = with self; [ nose mock ]
++ stdenv.lib.optional doCheck pysqlite;
propagatedBuildInputs = with self; [ modules.sqlite3 ];
checkPhase = ''
${python.executable} sqla_nose.py
'';
meta = {
homepage = http://www.sqlalchemy.org/;
description = "A Python SQL toolkit and Object Relational Mapper";
};
}; };
sqlalchemy9 = buildPythonPackage rec { sqlalchemy9 = buildPythonPackage rec {
@ -20191,14 +20220,32 @@ in modules // {
}; };
}; };
sqlalchemy_1_0 = self.sqlalchemy9.override rec { sqlalchemy = buildPythonPackage rec {
name = "SQLAlchemy-1.0.10"; name = "SQLAlchemy-${version}";
doCheck = !isPyPy; # lots of tests fail version = "1.0.10";
src = pkgs.fetchurl { src = pkgs.fetchurl {
url = "https://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz"; url = "https://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz";
sha256 = "963415bf4ea4fa13698893464bc6917d291331e0e8202dddd0ebfed2864ef7e3"; sha256 = "963415bf4ea4fa13698893464bc6917d291331e0e8202dddd0ebfed2864ef7e3";
}; };
buildInputs = with self; [ nose mock ]
++ stdenv.lib.optional doCheck pysqlite;
propagatedBuildInputs = with self; [ modules.sqlite3 ];
# Test-only dependency pysqlite doesn't build on Python 3. This isn't an
# acceptable reason to make all dependents unavailable on Python 3 as well
doCheck = !(isPyPy || isPy3k);
checkPhase = ''
${python.executable} sqla_nose.py
'';
meta = {
homepage = http://www.sqlalchemy.org/;
description = "A Python SQL toolkit and Object Relational Mapper";
license = licenses.mit;
};
}; };
sqlalchemy_imageattach = buildPythonPackage rec { sqlalchemy_imageattach = buildPythonPackage rec {
@ -20261,8 +20308,8 @@ in modules // {
}; };
}; };
sqlalchemy_migrate = self.sqlalchemy_migrate_func self.sqlalchemy_1_0; sqlalchemy_migrate = self.sqlalchemy_migrate_func self.sqlalchemy;
sqlalchemy_migrate_0_7 = self.sqlalchemy_migrate_func self.sqlalchemy; sqlalchemy_migrate_0_7 = self.sqlalchemy_migrate_func self.sqlalchemy7;
sqlparse = buildPythonPackage rec { sqlparse = buildPythonPackage rec {
name = "sqlparse-${version}"; name = "sqlparse-${version}";
@ -24810,7 +24857,7 @@ in modules // {
thrift thrift
beautifulsoup4 beautifulsoup4
markdown2 markdown2
sqlalchemy sqlalchemy7
html2text html2text
evernote evernote
]; ];